对于给定的输入字符串进行查找和替换的最简单方法是什么,比方说abc,并替换为另一个字符串,比如XYZ在文件中/tmp/file.txt?
我正在编写一个应用程序并使用IronPython通过SSH执行命令 - 但我不熟悉Unix,也不知道要查找什么.
我听说Bash除了是命令行界面外,还可以是一种非常强大的脚本语言.所以,如果这是真的,我假设您可以执行这些操作.
我能用bash做什么,以及实现目标的最简单(一行)脚本是什么?
使用PowerShell,我想用一个替换[MYID]给定文件中的所有确切事件MyValue.最简单的方法是什么?
假设我有'abbc'字符串,我想替换:
如果我尝试两次替换,结果不是我想要的:
echo 'abbc' | sed 's/ab/bc/g;s/bc/ab/g'
abab
Run Code Online (Sandbox Code Playgroud)
那么我可以使用什么sed命令替换如下?
echo abbc | sed SED_COMMAND
bcab
Run Code Online (Sandbox Code Playgroud)
编辑:实际上文本可能有两个以上的模式,我不知道我需要多少替换.既然有一个答案说这sed是一个流编辑器并且它的替换是贪婪的,我认为我需要使用一些脚本语言.
我有一个大文件,有许多分散的文件路径,看起来像
lolsed_bulsh.png
Run Code Online (Sandbox Code Playgroud)
我想在扩展路径前添加这些文件名,如:
/full/path/lolsed_bullsh.png
Run Code Online (Sandbox Code Playgroud)
我很难匹配和捕捉这些.目前我正在尝试各种变化:
cat myfile.txt| sed s/\(.+\)\.png/\/full\/path\/\1/g | ack /full/path
Run Code Online (Sandbox Code Playgroud)
我认为sed有一些正则表达式或捕获组行为我不理解