0

automator を使用してリストを取得できるサービスを作成したい

元。

list item 1
list item 2
list item 3
list item 4

リターンキャリッジリターンを削除し、コンマとスペースに置き換えます,

元。

list item 1, list item 2, list item 3, list item 4 

私の研究では、スペースまたは改行を削除するさまざまな方法に出くわしましたが、それらはすべて次のようになります。

sed 's/[:space:]+/,/g' orig.txt > modified.txt

探していた機能を見逃している可能性があります。私は決してプログラマーではありません。時々、言われたり説明されたりすることが私の頭を悩ませます。

テキスト ドキュメントを作成してから変更してもうまくいきません。ドキュメントを作成する前に変更できるようにする必要があります。

これは可能ですか?

私の目標は、Automator サービスに入力できるスクリプトを取得することです。このスクリプトを使用すると、アプリケーションでテキストを選択し、右クリックして、キャリッジ リターンを削除してコンマに置き換えることができる既製の関数を選択し、空間。

実際にこの正確な質問が以前に尋ねられた場合は、記事へのリンクも高く評価されます.

どんな助けでも大歓迎です。

皆さんありがとう!

フロイド

4

1 に答える 1

0

サービス テンプレートを選択し、出力が選択したテキストを置き換えることを確認し、次のようなシェル スクリプトの実行アクションを追加して、引数として入力を渡すを選択します。

x=${1%$'\n'}
printf %s "${x//$'\n'/, }"
[[ "$1" != "$x" ]] && printf '\n\n' || exit 0
  • ${var%pattern}最後からパターンを削除します
  • ${var//search/replace}すべてのオカレンスを置き換えます
  • printf %sのようなものですecho -n(余分な改行を追加しません)
  • スクリプトが 0 で終了しない場合、Automator はエラー ダイアログを表示します
于 2013-04-07T08:43:12.197 に答える