0

具有列之间没有分隔符的文件:

cat file_no_del 
 aba14092999140932436
 aba1111478991111484975
 aba1111973668111975690

如何从原始文件中提取这些行(列之间有分隔符)?并将其保存在带有分隔列的新文件中?

cat original_file
 aba1   40929991    40932436
 aba1   100496122   100501188
 aba1   101708714   101709305
 aba1   111478991   111484975
 aba1   111973668   111975690

cat wanted_output
 aba1   40929991    40932436
 aba1   111478991   111484975
 aba1   111973668   111975690

我在想有可能这样做:

for i in $(sort orginal_file); do awk '{print $1$2$3}' $i | grep -w - file_no_del

但是我在使用 awk 时遇到了问题,不知道在 greping 之后我应该如何回到循环中以分隔形式。
希望有人可以帮助我。

4

1 回答 1

2

如果file_no_del足够小,只需执行以下操作:

awk 'NR==FNR{ a[$0]++ } NR!=FNR && a[$1 $2 $3]' file_no_del original_file
于 2013-02-03T17:49:06.377 回答