GNU/Linux >> Linux の 問題 >  >> Linux

awk を使用して n 番目から最後までのすべての列を出力する

カットを使用した簡単な回答を持つ重複した質問があります:

 svn status |  grep '\!' | cut -d\  -f2-

-d 区切り文字 (スペース) を指定します 、 -f 列のリストを指定 (すべて 2 番目から始まる)


すべての列を印刷:

awk '{print $0}' somefile

最初の列を除くすべてを印刷:

awk '{$1=""; print $0}' somefile

最初の 2 列を除くすべてを印刷:

awk '{$1=$2=""; print $0}' somefile

for ループを使用して、印刷フィールド $2 から $NF (行のフィールド数を表す組み込み変数) をループすることができます。

編集:「print」は改行を追加するため、結果をバッファリングする必要があります:

awk '{out=""; for(i=2;i<=NF;i++){out=out" "$i}; print out}'

または、printf:を使用します。

awk '{for(i=2;i<=NF;i++){printf "%s ", $i}; printf "\n"}'

Linux
  1. Stratisを使用してコマンドラインからLinuxストレージを管理する

  2. 2020年にコンソールからRedditを使用する

  3. LinuxコマンドラインからのGoogleドライブの使用

  1. 一致する行と一致する行からN番目の行を印刷しますか?

  2. Awkを使用して5列を含む行のみを印刷するにはどうすればよいですか?

  3. 最後を除くすべての改行をスペースに置き換えますか?

  1. 3番目の列を最後の列に印刷する方法は?

  2. CLI から、ファイルの最後の行を出力します。

  3. 最初のn列と最後のn列を切り取る方法は?