次のような複数の行があるテキストファイルを編集しようとしています。
avaya logs 20171202 000000 (9).txt: 660119211mS CMLOGGING: CALL:2017/12/0111:14,00:00:16,008,203,O,208,208,Jon,,,1,,""n/a,0
すべての行でCALL
と表示される前にすべてを削除します。sed
コマンドでこれを実行できると思いますが、あまり詳しくありません。
これどうやってするの?
awk
は次の方法で使用できます。
awk -F "CALL" '{print "CALL"$2}' filename
結果は次のとおりです。
CALL:2017/12/0111:14,00:00:16,008,203,O,208,208,Jon,,,1,,""n/a,0
詳細:
-F
または--field-separator
フラグを使用し、CALLをフィールドセパレーターに設定します。注:次を使用して、出力を別のファイルにリダイレクトできます。
awk -F "CALL" '{print "CALL"$2}' filename > newfilename
Sedを使用:
sed -e 's/.*CALL:/CALL:/' input.txt > output.txt
入力ファイルをその場で編集する場合は、-i
オプションを追加します。