我希望仅替换字符串中并排的 2 个字符。
我现在有输出
hu1.cqf51:qu-2/2
hu2.cqf55:qe-2/2
hu2.cqf41:qe-2/2
第一行不正确,因为它有“qu”而不是“qe” 我希望用 qe 替换 qu,而不替换字符串中的任何其他“q”或“e”
所需输出
hu1.cqf51:qe-2/2
hu2.cqf55:qe-2/2
hu2.cqf41:qe-2/2
我尝试过的事情
sed -r 's/[qu]+/qe/g'
sed -e 's//qe/g'
sed 's/\S*\(qu\)\S*//g'
即使考虑只是尝试单独删除整个单词(如果它与下面的命令匹配),但是它删除了其中包含 q 或 u 的所有内容。
sed -e 's/[^ ]*qu[^ ]*//g'
谢谢您的帮助!!
你可以试试这个吗?
sed -e 's/qu/qe/' your_file
我建议
sed 's/:qu-/:qe-/'
但如果这是标准格式,则可能有标准方法。
与 tr 不同,sed 会自动匹配整个模式,无需任何选项。这适用于您的示例:
sed 's/qu/qe/g'