Jef*_*ler 16
awk -F, '{print $1, $2, $(NF-1), $NF}' < input
Run Code Online (Sandbox Code Playgroud)
更一般地(根据问题的标题),打印输入的第一n
列和最后一列——不检查这是否意味着打印某些列两次——
awk -v n=2 '{
for(i=1; i <= n && i <= NF; i++)
printf "%s%s", $i, OFS
for(i=NF-n+1; i <= NF && i >= 1; i++)
printf "%s%s", $i, OFS
printf "%s", ORS
}' < input
Run Code Online (Sandbox Code Playgroud)
(-F
根据需要使用分隔符)