Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 使用sed删除部分输出文件_Bash_Shell_Sed - Fatal编程技术网

Bash 使用sed删除部分输出文件

Bash 使用sed删除部分输出文件,bash,shell,sed,Bash,Shell,Sed,我在通过另一组命令生成的文件中有以下输出 3 ReplicationFactor3 Conf.ms=126543 3 ReplicationFactor3 Conf.ms=139875 我需要从这个文件中删除单词ReplicationFactor和Conf.ms。我使用下面的sed命令,但它只删除Conf.ms sed -r -i 's/\b('ReplicationFactor'|Configsretention.ms=)\b//g' file.txt 如果有人能帮助从输

我在通过另一组命令生成的文件中有以下输出

 3   ReplicationFactor3  Conf.ms=126543
 3   ReplicationFactor3  Conf.ms=139875
我需要从这个文件中删除单词ReplicationFactorConf.ms。我使用下面的sed命令,但它只删除Conf.ms

 sed -r -i 's/\b('ReplicationFactor'|Configsretention.ms=)\b//g' file.txt

如果有人能帮助从输出文件中删除复制因子,我们将不胜感激。

请尝试这种方法<代码>'ReplicationFactor'必须是
ReplicationFactor

sed -r -i 's/\b(ReplicationFactor|Conf.ms=)\b//g' file.txt,

预期的结果是什么?请尝试
sed-r-i的//\b(ReplicationFactor | Conf\.ms=)//g file.txt'
,请参阅。
ReplicationFactor
3
之间没有单词边界,因为
r
3
都属于
\w
“word character”字符类,它由
[A-Za-z0-9
组成(
a_1A8__1
是一个单词,不管它看起来有多奇怪)。你需要依靠另一个因素来确定你需要删除的
ReplicationFactor
的具体发生情况。谢谢你,弗兰克,这确实有效,我如何删除=sign。我尝试在末尾添加=sign,但不起作用。如果时间允许,我还想得到有关此命令的澄清。
sed-I's#ReplicationFactor###s#Conf.ms=####file.txt
可以帮我去掉=号。这真的是你看到的等号吗?你可以用
od-ctx1 file.txt
检查。或者试试“s#ReplicationFactor##s#Conf.ms.##########”这个点删除了我输出文件中的任何字符。你的解决方案工作得很好。谢谢你的时间在这件事上,我很高兴。
$> cat file.txt
 3   ReplicationFactor3  Conf.ms=126543
 3   ReplicationFactor3  Conf.ms=139875
$> sed -i 's#ReplicationFactor##;s#Conf.ms##' file.txt
$> cat file.txt
 3   3  =126543
 3   3  =139875