使用sed将单数/复数单词转换为大写
使用一个sed命令,我试图将.txt文件中出现的所有test和tests转换为所有caps。我还想只打印转换后的行,所以我使用-n。我已经玩了一个多小时了。问题是我能够转换一个或另一个(测试或测试),但不能同时转换两个 任何帮助都将不胜感激。谢谢大家! 用这个使用sed将单数/复数单词转换为大写,sed,Sed,使用一个sed命令,我试图将.txt文件中出现的所有test和tests转换为所有caps。我还想只打印转换后的行,所以我使用-n。我已经玩了一个多小时了。问题是我能够转换一个或另一个(测试或测试),但不能同时转换两个 任何帮助都将不胜感激。谢谢大家! 用这个 sed -e 's/tests/TESTS/g; s/test/TEST/g; T; p;' input.txt 分号允许您执行多个命令。这可能适用于您(GNU-sed): sed的/\/\U&/gp;d'文件 这将是以可选的s(s\
sed -e 's/tests/TESTS/g; s/test/TEST/g; T; p;' input.txt
分号允许您执行多个命令。这可能适用于您(GNU-sed):
sed的/\/\U&/gp;d'文件
这将是以可选的
s
(s\?
)开头的大写单词(\
)。很抱歉响应太晚,但希望这里有一个可以理解的基本正则表达式(没有扩展正则表达式):
sed's:\:TEST\1:g'outputFile.txt;cat outputFile.txt | grep-n测试
说明:
分隔符(而不是通常的/):
匹配测试。第一个\
前面的字符可以是字母、数字或下划线以外的任何字符。这同样适用于最后一个t
之后的字符t
记住括号内的内容\(\)
匹配零个或多个s*
s
用于插入第一个记忆中的匹配项(即任何数量的\1
匹配项)s
剩下的希望很清楚。否则请留下评论。如果我想打印这些行,我只需在g后面加一个p('s/tests/tests/gp;?非常感谢您的帮助!@Chalmers否,您必须在最后一个分号后面加一个p。这将打印所有行。请显示您已经尝试过的内容(通过解释进行更正),并经常显示一个输入示例作为预期输出
sed 's/\<tests\?\>/\U&/gp;d' file