trコマンドを使用してピリオド、感嘆符、疑問符、スペース、改行文字を置き換える方法は?

trコマンドを使用してピリオド、感嘆符、疑問符、スペース、改行文字を置き換える方法は?

次のテキストがあります。

I am happy. I am here. How are you, Meg? 

私はこれが次のようになりたいです:

I am happy.
I am here.
How are you, Meg? 

しばらく私は努力しました。

tr -s '. ' '\n' <file.txt >out.txt

しかし、これはうまくいきません。

ベストアンサー1

知りません。 trこのために設計されていません。これは、以下のグループを音訳するように設計されています。単一文字別のグループを入力単一文字、たとえば、とA-Z入力しますa-ztrwith .␣(ドットとスペース)を使用すると、\nすべてのポイントとスペースが改行文字に置き換えられます。

代わりに(GNU)を使用してくださいsed

$ echo 'I am happy. I am here. How are you, Meg?' | sed 's/\([!.?]\) /\1\n/g'
I am happy.      
I am here.       
How are you, Meg?

ここの編集スクリプトは、文字列内sedのすべての項目を同じ文字と改行またはスペースで置き換え!ます.?

おすすめ記事