用于文本文件内容编辑的 shell 脚本 /unix 命令

用于文本文件内容编辑的 shell 脚本 /unix 命令

我想编辑第二行第二列中的文件内容,这是一个文件名,我想删除最后一个下划线之后和文件扩展名之前的部分。

文件的内容如下所示 输入文件内容

No|filename|count
01 |com_101_00000_0001_a234.txt|100

预期输出文件内容

No|filename|count  
01 |com_101_00000_0001.txt|100

下划线的数量可能会有所不同,具体取决于 .ctl 文件中存在的文件名。另外,像这样的文件夹中有多个文件,我想类似地更改第二行中所有 .ctl 文件的内容。

Operating system details Linux  2.6.32 -696.30.1.e16
GNU/linux

我尝试使用以下解决方案
cat com_101_00000_0001.ctl | sed 的/(.)_[^_](.[^_]*)$/\1\2/'

这编辑了文件内容,但在腻子控制台本身中显示内容,我想要的是修改服务器中特定路径中的原始文件

请告知哪里出错了

答案1

这是您第三次问几乎相同的问题(曲.1,曲.2,还有这个) - 收集给出的答案,看看你能走多远?

你试过了吗这个答案?如果您希望将结果捕获到文件中,请阅读有关重定向的内容。

相关内容