这会将“a”转换为“A”。
sed 's/a/A/g' <(echo "foobar")
foobAr
这提供了使每个元音变为大写所需的命令:
$ cat << EOF
s/a/A/g
s/e/E/g
s/i/I/g
s/o/O/g
s/u/U/g
EOF
我想做的是扩展第一个示例,以便使每个元音大写,并使用此处的文档,如第二个示例中所示。有什么建议吗?
男人:
sed [选项]... {仅脚本,如果没有其他脚本} [输入文件]...
-f script-file, --file=script-file 将 script-file 的内容添加到要执行的命令中
答案1
您可以使用-
withsed -f
来指示应该从标准输入读取脚本:
$ cat << EOF | sed -f - <(echo foobar)
s/a/A/g
s/e/E/g
s/i/I/g
s/o/O/g
s/u/U/g
EOF
fOObAr
答案2
在这种情况下,tr
适当的解决方案是:
$ echo foobar | tr [aeiou] [AEIOU]
fOObAr