awkはn番目の列から最後の列まで印刷します。

awkはn番目の列から最後の列まで印刷します。

nthから行のlastすべての列を印刷したいと思います。

ファイルに文字列を入力

vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3  

注文する

cat <file> | awk ' { for (i=3; i<=NF; i++)   print $i }'

電流出力

cb0
cb1
cb2
cb3
ct0
ct1
ct2
ct3

希望の出力

cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3

頑張っていますアッ繰り返しますが、目的の出力を取得できません。

ベストアンサー1

awk -v n=4 '{ for (i=n; i<=NF; i++) printf "%s%s", $i, (i<NF ? OFS : ORS)}' input

これはnを値として取り、n最後のフィールドを介して数字を繰り返しますNF。各反復ごとに現在の値を印刷します。行の最後の値でない場合は、OFSその後にスペースを印刷します。次に印刷されるORS行の最後の値(改行文字)です。

$ echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' |
> awk -v n=4 '{ for (i=n; i<=NF; i++) printf "%s%s", $i, (i<NF ? OFS : ORS)}'
cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3

おすすめ記事