web-dev-qa-db-ja.com

文を別々の行に分割します

シェルスクリプトを使用してファイル内の文を別々の行に分割しようとしています。

今、私は文字列を分割したいのですが?、?また 。 。出力は次のようになります。

読みたいファイルmy_text.txtと含まれています。

you want to learn Shell script? First, you want to learn Linux command! then. you can learn Shell script. _

今、私は「!」または「?」または「」で文字列を分割したいと思います。出力は次のようになります。

you want to learn Shell script                 
First, you want to learn Linux command             
then           
you can learn Shell script
 _

私はこのスクリプトを使いました:

while read p
do
   echo $p | tr "? ! ." "\n " 
done < my_text.txt
 _

しかし、出力は次のとおりです。

あなたはシェルスクリプトを学びたいです

まず、Linuxコマンドを学びたい場合は、シェルスクリプトを学ぶことができます

誰かが助けになることができますか?

10
ZeRoO 199

Awkのレコード区切り文字変数RSトリックをするべきです。

echo 'you want to learn Shell script? First, you want to learn Linux command! then. you can learn Shell script.' |
awk 'BEGIN{RS="[?.!] "}1'
 _
0
Pedro Maimere