スキャンとクロール

スキャンとクロール

*.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}'

おすすめ記事