Linux 使用Sed提取多个文件中的标题
我使用Linux 使用Sed提取多个文件中的标题,linux,bash,shell,sed,Linux,Bash,Shell,Sed,我使用head-3从一些需要显示标题数据的文件中提取标题,我这样做: head -3 file1 file2 file3 而且head-3*也可以工作 我原以为sed3file1file2file3可以工作,但它只给出第一个文件的输出,而不给出其他文件的输出。然后我尝试了sed-n'1,2p'file1 file2 file3。同样,只有第一个文件产生任何输出。我还尝试使用通配符sed-n'1,2p'文件名*只对第一个文件的输出产生相同的结果 我读的每一本书似乎都应该有用sed*文件名* 提
head-3
从一些需要显示标题数据的文件中提取标题,我这样做:
head -3 file1 file2 file3
而且head-3*
也可以工作
我原以为sed3file1file2file3可以工作,但它只给出第一个文件的输出,而不给出其他文件的输出。然后我尝试了sed-n'1,2p'file1 file2 file3
。同样,只有第一个文件产生任何输出。我还尝试使用通配符sed-n'1,2p'文件名*
只对第一个文件的输出产生相同的结果
我读的每一本书似乎都应该有用<代码>sed*文件名*
提前感谢假设
GNU-sed
,因为问题被标记为linux
。从
-
在默认情况下,SED将将命令行上指定的文件视为单个连续长流。这个GNU
扩展允许用户将它们视为单独的文件:范围
地址(如“/abc/,/def/”)不允许跨越多个地址
文件,行号相对于每个文件的开头,$reference
到每个文件的最后一行,以及从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
问题是什么?如果希望每个文件都有自己的地址,请使用
-s
选项。。。使用-i
时,-s
选项是隐式的。。。这是GNU sed的行为,其他实现可能不同