現在の入力はコマンドから出力されます。
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
。