特定の最初の項目(_と-)の間のテキストを抽出しようとしています。たとえば、下から数字5を取得する必要があります。
MQSeriesRuntime_5-U200491-7.5.0-4.x86_64
awkフィールド区切り文字(awk -F)を試しましたが、_の後に全文が表示されました。
ベストアンサー1
フィールド区切り記号を使用して創造性を発揮します。
$ awk 'BEGIN {FS="_|-"} {print $2}' input
5
秘訣はFS
文字列ではないということです。これは正規表現です。
お客様のご要望に応じて、以下で詳しく説明します。
スクリプトは、着信データが処理される前に実行される awk
コードブロックを定義できます。BEGIN
FS
このコードブロックを使用して、正規表現をハイフン()またはアンダースコア()として使用してフィールド-
区切り文字()を定義します_
。
次のコードブロックは、探しているフィールドである{print $2}
2番目のフィールド(つまり、前の区切り文字で区切られた2番目の文字列)を印刷します。プレフィックスのないコードブロックは、読み取った各レコードに対して実行されます。/-|_/
5
awk