像另一个文件

时间:2016-04-27 11:19:18

标签: bash sorting unix

我有2个文本文件:

第一档:

1  C
1  D
1  B
1  A

第二档:

B
C
D
A

我想按照以下方式对第一个文件进行排序:

1 B
1 C
1 D
1 A

你能帮我用bash(或命令)编写一个脚本。

3 个答案:

答案 0 :(得分:0)

什么只能忽略第一个文件并执行此操作?

echo -n > result-file.txt # empty result file if already created
while read line; do
  echo "1 $line" >> result-file.txt
done < file2.txt

当您的文件&#39;格式是具体的。

答案 1 :(得分:0)

我解决了排序问题(我删除了第一列)并使用了这个脚本

awk 'FNR == NR { lineno[$1] = NR; next}
 {print lineno[$1], $0;}' ids.txt   resultpartial.txt | sort -k 1,1n | cut -d' ' -f2-

现在我想添加(像之前一样的第一列)

1 .....

答案 2 :(得分:0)

假设“sort”字段不包含重复值:

awk 'FNR==NR {line[$2] = $0; next} {print line[$1]}' file1 file2