切り込みながら切る方法【閉じる】

切り込みながら切る方法【閉じる】

現在の入力はコマンドから出力されます。

grep -i "final_model" /dir1/dir2/dir3/user/dir4/assemble.preprocessing

現在の出力は次のとおりです。

final_model=</dir1/dir2/dir3/user/dir4/test_F00ME001.inp>

必須出力-1は次のとおりです。

test_F00ME001.inp

必要な出力-2は次のとおりです。

F00ME001

ベストアンサー1

私たちが言うと

final_model=</dir1/dir2/dir3/user/dir4/test_F00ME001.inp>

grepコマンドで生成されたテキスト行。

grep ... | sed 's#.*/##; s/>$//' | tee output1 |
           sed 's/^[^_]*_//; s/\..*//' >output2

output1これにより、変更された行がすべておよびに保存されます。output2

テスト:

$ printf '%s\n' 'final_model=</dir1/dir2/dir3/user/dir4/test_F00ME001.inp>' |
  sed 's#.*/##; s/>$//' | tee output1 |
  sed 's/^[^_]*_//; s/\..*//' >output2
$ cat output1
test_F00ME001.inp
$ cat output2
F00ME001

最初のsed呼び出しは生データに対して機能し、最初に/最後の文字の前のすべての項目を削除します。次に>最後の項目を削除します。

保存teeし、output1パイプラインの次のステップに渡します。

2番目sedの呼び出しは変更されたデータに対して機能し、最初に最初の文字の前にあるすべての項目を削除します_。次に、最初のポイントからすべての項目を削除し、結果をoutput2

おすすめ記事