gpt4 book ai didi

sed - 使用多个文件名制作 `sed` 的单个实例跳到下一个文件

转载 作者:行者123 更新时间:2023-12-05 01:18:15 29 4
gpt4 key购买 nike

n sed 中的 ext 命令跳到下一行,但是对于多个文件,似乎没有任何命令可以跳到下一个文件。
是否有任何仅使用 的解决方法单例调用 sed ?

问题演示...

制作两个简单的三位数数据文件:

seq 3 > three ; seq 10 1 13 > thirteen

表明 sed处理多个文件,(通过查找所有以 3 结尾的行并打印文件名),并且有点意识到它们是不同的对象:
sed -n '/3$/{p;F}' three thirteen 

输出:
3
three
13
thirteen

然而,下一次打印最后两行的尝试不起作用,或者说它的工作方式好像两个文件都是一个流:
sed -n '$p' three thirteen 

输出:
13

最佳答案

查看您的版本是否支持 -s选项:

$ seq 3 > three ; seq 10 1 13 > thirteen
$ sed -n '$p' three thirteen
13
$ sed -n '2p' three thirteen
2

$ sed -sn '$p' three thirteen
3
13
$ sed -sn '2p' three thirteen
2
11

来自 man sed :

-s, --separate

consider files as separate rather than as a single continuous long stream.



使用 -i 时选项,GNU sed用途 -s默认情况下。

万一 -s选项不可用,这里有一个替代方案 perl :
$ perl -ne 'print if eof' three thirteen
3
13

关于sed - 使用多个文件名制作 `sed` 的单个实例跳到下一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49278122/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com