*.ses
次の行を含むファイル()があります。
$ rea ses '../../../../abcdefgh/abcd_efgh-A20_ABC-abcdefgh-Abcdefgh_Abcdef_123er_vb001.ses'
このコマンドを使用するとき:
cat a4.ses | grep -im1 'rea ses' | awk -F'[/]' '{print $NF}'
出力は次のとおりです
abcd_efgh-A20_ABC-abcdefgh-Abcdefgh_Abcdef_123er_vb001.ses'
私は出力が次のようになりたいです。
abcd_efgh-A20_ABC-abcdefgh-Abcdefgh_Abcdef_123er_vb001
拡張はありません。
どうすればいいですか?
ベストアンサー1
静的拡張の場合は、.ses'
文字列を最初から最後の5文字まで印刷して、末尾の5文字を削除する操作をawkにハードコードするだけです。
awk -F/ '{print substr($NF, 1, length($NF)-5)}'
拡張子の長さが異なる場合は、印刷する前に空の文字列に置き換えてください。
awk -F/ '{gsub(/\..+$/, "", $NF); print $NF}'