すべてがヘッダー付きのCSVファイルを使用し、私の目的のためにヘッダーも渡す必要があるため、頻繁に入力する式です。
cat foo.csv | awk -F',' 'BEGIN{start=0}{if(start==0){start = 1; print $0; next;} ...}'
ヘッダーが通過できるようにし、BASHスクリプトラッパーを作成したり(そして私の頭の中でドラッグしたり)繰り返し作成するのを防ぐには、いくつかの簡単な設定が必要です。
そんな設定がありますか?
答え1
awk
このCSVファイルに対してテキスト処理を続けたいとします。その場合は、「行番号」に次の条件を追加することをお勧めします。
awk -F',' 'NR==1{print} NR>1{ your code here }' foo.csv
ここでは「レコード番号」の組み込み変数NR
で、通常は行番号(awk
複数のファイルを処理する場合、これは「処理された行の総数」であり、ファイルあたりの行数はFNR
)。その部分を省略して印刷ヘッダーを簡単に省略することもできますNR==1{...}
。
print
作戦に使うようになれば「ゴルフ」ができます。
awk -F',' 'NR>1{ your code here }1' foo.csv
1
「印刷結果行()」を示します$0
。
返品:
cat
ファイルにパイプする必要はなく、awk
コマンドライン引数として提供するだけです。start=0
初期化されていない変数のデフォルト値は「0」なので、実際にはセクションでその文を使用する必要はありません。BEGIN