awk -F ';' '{print $1}' FileName
このコマンドを使用して、セミコロンで区切られたファイルの最初の列を印刷します。
ここで上記のコマンドの出力を繰り返す必要があります。私の出力
0
1
2
各レコードを繰り返す必要があり、繰り返し出力でレコード区切り文字が何であるかを指定する必要があります。
以下のように出力を印刷する方法はありますか?
0;1;2
これにより、区切り記号が表示されます。
答え1
末尾のセミコロンを避ける
awk -F\; 'NR>1 { printf ";" ;} {printf "%s",$1;} END {printf "\n"} '
printf
改行を印刷しないでくださいNR>1
最初の行以降にのみ印刷END
最後の行以降に印刷します。
答え2
awk
ORS
(出力レコード区切り記号)の値は、各文の終わりに出力されますprint
。デフォルトでは改行文字ですが変更できます。
$ cat foo.txt
0;3;6
1;4;7
2;5;8
$ awk -vORS=';' -F';' '{print $1} END {printf "\n"}' foo.txt
0;1;2;
END {printf "\n"}
出力の末尾に行を折り返すために追加しました。
答え3
coreutilsも使用できます。
<foo.txt cut -d';' -f1 | paste -sd';'