Ed *_*ton 5
请阅读Why-is-using-a-shell-loop-to-process-text-considered-bad-practice。发明shell
创建/销毁文件和进程以及序列调用工具的人也发明awk
了shell
调用操作文本。
$ head file{1,2}
==> file1 <==
foo 1
foo 2
foo 3
foo 4
foo 5
==> file2 <==
BAR 1
BAR 2
BAR 3
$ cat tst.awk
BEGIN {
file2 = ARGV[2]
ARGV[2] = ""
ARGC--
}
{ print }
(getline < file2) > 0
END {
while ( (getline < file2) > 0 ) {
print
}
}
$ awk -f tst.awk file1 file2
foo 1
BAR 1
foo 2
BAR 2
foo 3
BAR 3
foo 4
foo 5
$ awk -f tst.awk file2 file1
BAR 1
foo 1
BAR 2
foo 2
BAR 3
foo 3
foo 4
foo 5
这是适合使用的少数情况之一getline
,请参阅awk.freeshell./AllAboutGetline。
更多推荐
实用程序,两个,文件,内容,Linux
发布评论