Bashを使用して文字列からパターンを削除する

Bashを使用して文字列からパターンを削除する

ファイル入力文字列からいくつかのパターンを削除しようとしています(ファイルを1行ずつ解析します)。以下は文字列の例です。

1: (10/17 12:49:31.175) - CONSTANT ID1 - CONSTANT ID2: RAW DATA OUT     > [0x00,0xa2,…,0x00] 

出力が次のようになります。

(12:49:31.175): RAW DATA OUT : [0x00,0xa2,…,0x00]

egrep試してみましたが、sed今まで運がありませんでした。エラーまたは「終了していない代替モード」エラーが引き続き発生しました。私が試した例は次のとおりです。

echo $line | sed -e 's/.*\s\([0-9]*:[0-9]*:[0-9]*.[0-9]*\)'

どんな助けでも大変感謝します。私は通常bashよりもバッチファイルを好みます。アップルシステム/X

編集する:

私は次のファイルを読んでいると言うべきです:

while read line
do

lineその後、ファイルの各行に対してアクションを実行したいと思います。

ベストアンサー1

perlから電話をかけることもできますbash。 arg は-n各行を繰り返す。-eスクリプトが一行であることを意味します。

cat in.txt | perl -ne 's{.*(.*\().*? (.*) -.*(:.*?)\s\s+.*(\[.*)}{$1$2$3 : $4};'

おすすめ記事