在一行中打印第1列的第1个字和第2列的第2个字

时间:2017-10-23 17:17:20

标签: awk sed cut

我想将第一列的第一个单词和第二列的第二个单词打印到单个列中 示例:

ABC 123
BCD 987

输出:

ABC 987

6 个答案:

答案 0 :(得分:1)

甜蜜而简单的awk可以帮助你。

awk 'FNR==1{val=$1;next} FNR==2{print val,$2}'  Input_file

答案 1 :(得分:1)

 awk 'FNR==1{printf $1 OFS;next}FNR==2{print $2;exit}' infile

答案 2 :(得分:1)

这将提取任意大小表的对角线

$ awk '{print $NR}' file | paste -sd' ' -

答案 3 :(得分:0)

使用sed

sed 'N;s/\([^ ]*\)\(.*\n[^ ]*\)\(.*\)/\1\3/' infile

或者

sed -E 'N;s/([^ ]+)(.*\n[^ ]+)(.*)/\1\3/' infile

答案 4 :(得分:0)

使用 awk

$ awk '{printf $NR (NR==2?ORS:" ") }' file
ABC 987

答案 5 :(得分:0)

这可能适合你(GNU sed):

sed 'N;s/ .* / /' file

将第二行附加到第一行,并用另一个空格替换前两个空格之间的所有内容。