我有一个像这样的管道分隔文件,其中第二列是对第一列中的 id 进行分组的键。
456566|23233|
456545|23233|
456745|23233|
456456|23234|
456356|23234|
我正在尝试创建一个这样的文件,其中第一个 id 根据第二个字段中的 id 和第二列中该组的剩余 id 进行重复。我想学习如何使用 awk 等实用程序来执行此操作
输出
456566|456545
456566|456745
456456|456356
答案1
$ cat tst.awk
BEGIN { FS=OFS="|" }
$2 != prevKey {
firstId = $1
prevKey = $2
next
}
{ print firstId, $1 }
$ awk -f tst.awk file
456566|456545
456566|456745
456456|456356