gpt4 book ai didi

awk - 如何删除文件夹中多个文件的 "0"行?

转载 作者:行者123 更新时间:2023-12-02 16:21:40 24 4
gpt4 key购买 nike

每个文件的名称都以“input”开头。这些文件的一个示例如下所示:

0.0005
lii_bk_new
traj_new.xyz
0
73001
146300

我想删除仅包含“0”的行,预期输出为:

0.0005
lii_bk_new
traj_new.xyz
73001
146300

我试过

sed -i 's/^0\n//g' input_*

grep -RiIl '^0\n' input_* | xargs sed -i 's/^0\n//g'

但两者都不起作用。
请提出一些建议。

最佳答案

能否请您尝试将尝试的代码更改为以下代码,在单个 Input_file 上运行一次。

sed 's/^0$//' Input_file

或根据 OP 的注释删除空行:

sed 's/^0$//;/^$/d' Input_file

我故意不在这里放 -i 选项,首先在单个输出文件中测试它看起来不错,然后只在多个文件上使用 -i 选项运行。

您尝试的另一个问题是,您将 \n 放入 sed 的正则表达式中,这是默认的行分隔符,我们需要放入 $ 告诉 sed 删除那些以 0 开头和结尾的行。

如果您想备份文件(考虑到您的文件系统中有足够的可用空间),您也可以使用 sed 的 -i.bak 选项,它将备份每个文件在编辑之前(这不是必需的,但为了安全起见,您也可以选择此选项)。

关于awk - 如何删除文件夹中多个文件的 "0"行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65351018/

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