【发布时间】:2021-05-28 05:03:08
【问题描述】:
我有一个像这样的管道分隔文件
OLD|123432
NEW|232322
OLD|1234452
NEW|232324
OLD|656966
NEW|232325
我正在尝试创建一个新文件,我正在尝试根据第一列(OLD/NEW)中的值合并行。输出文件中的第一列将具有新编号,第二列将具有旧编号。
输出
232322|123432
232324|1234452
232325|656966
我在这里查看了答案How to merge every two lines into one from the command line?。我知道这不是确切的解决方案,而是用作起点。
并试图让它解决这个问题,但抛出语法错误。
awk -F "|" 'NR%2{OFS = "|" printf "%s ",$0;next;}1'
【问题讨论】:
-
一个
sed单行可以是sed 'N;s/.*|\(.*\)\n.*|\(.*\)/\2|\1/' file
标签: awk text-processing