ファイルの最初の列をファイルの最後の列に移動しようとしています。これは私が持っているものです。
awk -F ',' '{first = $1; $1=""; OFS = FS; print $0, first}' file.txt
この方法は、ファイルに1行しかない場合に機能します。ファイルに複数の行がある場合、何もしません。ファイルにキャリッジリターンと改行文字(CRLF)があります。
ベストアンサー1
複数文字RSにGNU awkを使用する:
$ printf 'foo,bar,etc\r\n' |
awk 'BEGIN{RS=ORS="\r\n"; FS=OFS=","} {$(NF+1)=$1; sub("[^"FS"]*"FS,"")} 1'
bar,etc,foo
または awk を使用してください。
$ printf 'foo,bar,etc\r\n' |
awk 'BEGIN{ORS="\r\n"; FS=OFS=","} {sub(/\r$/,""); $(NF+1)=$1; sub("[^"FS"]*"FS,"")} 1'
bar,etc,foo