我想用文本文件中的另一个单词替换一个单词。
文件.txt:
alireza fallah
我的代码:
cat file.txt | tr ali ALI
但我明白这一点:
ALI fALLAh
它将所有 'a' 替换为 'A' ,将 'l' 替换为 'L' ,将 'i' 替换为 'I' 。
有什么方法可以将 'ali' 替换为 'ALI' 吗?
答案1
使用 GNU 可以更轻松地完成此任务sed
:
$ sed -i 's/ali/ALI/' file.txt
因为tr
运行于字符集而不是字符串。
为了避免在回显时出现不必要的替换,请尝试指定要替换的单词的确切位置和/或仅与您感兴趣的字符串匹配的正则表达式:
$ printf "cali\nali\nwali\nmali.\n" | grep -E '^ali' | tr ali ALI
ALI