我使用head -3
从我需要显示标题数据的某些文件中提取标题我执行了此操作:
head -3 file1 file2 file3
和head -3 *
也有效。
我认为sed 3 file1 file2 file3
会起作用,但它只提供第一个文件的输出,而不是其他输出。然后我尝试了sed -n '1,2p' file1 file2 file3
。同样只有第一个文件产生任何输出。我也尝试使用通配符sed -n '1,2p' filename*
只得到第一个文件的输出结果。
我读到的所有内容似乎都应该有效。 sed *filesnames*
。
提前致谢
答案 0 :(得分:3)
假设GNU sed
被标记为linux
。来自GNU sed manual
-s --separate默认情况下,sed会将命令行中指定的文件视为单个连续长流。这个GNU sed 扩展允许用户将它们视为单独的文件:范围 地址(例如'/ abc /,/ def /')不允许跨越几个 文件,行号相对于每个文件的开头,$ refer 到每个文件的最后一行,以及从R命令调用的文件 在每个文件的开头重新编写。
示例:
$ cat file1
foo
bar
$ cat file2
123
456
$ sed -n '1p' file1 file2
foo
$ sed -n '3p' file1 file2
123
$ sed -sn '1p' file1 file2
foo
123
使用-i
时,隐含-s
选项
$ sed -i '1chello' file1 file2
$ cat file1
hello
bar
$ cat file2
hello
456