这就是我正在尝试做的事情。
我正在尝试 cat 一个文本文件并显示完整文件,只更改一些字符(也出现在其他行中),然后使用 grep 匹配选定行中的关键字。
我试图通过一行或多行命令来完成此操作,而不是通过运行脚本。
例如,我有这个文本文件 test_hasham.txt
cat test_hasham.txt
this is line one XXXXXX
this is line two XXXXXX
this is line three XXXXXX
我想仅在包含单词“two”的行上将“X”更改为“-”,输出应该是原始文本文件中的所有行,但只有包含关键字“two”的行发生了更改。
this is line one XXXXXX
this is line two -----
this is line three XXXXXX
我正在尝试类似的事情,但它将所有“X”更改为“-”......如何在一个命令中使用 grep 和 sed 来获得所需的结果。
这就是我所做的,但它会将所有的 X 都改为破折号,而不仅仅是带有单词 two 的行
cat test_hasham.txt | (sed "s|X|-|g" ; grep two)
this is line one ------
this is line two ------
this is line three ------
总之:
我得到的是:
cat test_hasham.txt | (sed "s|X|-|g" ; grep two)
this is line one ------
this is line two ------
this is line three ------
我想要的是:
cat test_hasham.txt | ( ****some magic sed + grep combo ****)
this is line one XXXXX
this is line two ------
this is line three XXXXX