gpt4 book ai didi

shell - 如何使用 shell 脚本附加到文件中不包含特定模式的行

转载 作者:行者123 更新时间:2023-12-05 00:02:37 26 4
gpt4 key购买 nike

我有一个平面文件如下:

11|aaa
11|bbb|NO|xxx
11|ccc
11|ddd|NO|yyy

对于不包含 的行|否| , 我想添加字符串 |是| 在末尾。所以我的文件应该是这样的:
11|aaa|YES|
11|bbb|NO|xxx
11|ccc|YES|
11|ddd|NO|yyy

我正在使用 AIX 和 sed -i 内联替换选项不可用。因此,目前我正在使用以下代码来执行此操作:
#Get the lines that do not contain |NO|
LINES=`grep -v "|NO|" file`

for i in LINES
do
sed "/$i/{s/$/|YES|/;}" file > temp
mv temp file
done

但是,上述工作是有效的,因为我的文件包含超过 40000 行,因此运行大约需要 3 个小时。我相信它花费了太多时间,因为它必须搜索每一行并写入临时文件。有没有更快的方法来实现这一目标?

最佳答案

这将很快:

sed '/NO/!s/$/|YES|/' filename

关于shell - 如何使用 shell 脚本附加到文件中不包含特定模式的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7742487/

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