我尝试只打印一行中的特定字符,而不是必须排序,并且可能不止一次出现。我为它搜索了sed命令,但发现只能指定要删除的字符而不是保留字符。 感谢
例如:
For line "helloabcdabcdhello"
And desired characters: h,l
Output should be: hllhll
答案 0 :(得分:2)
要在字符串中打印特定字符,请删除所需字符的补充,例如tr
:
$ echo this is a test | tr -c -d aieo
iiae$
注意,我不想要换行符。有了Bash:
$ foo="this is a test"
$ echo ${foo//[^aeio]/}
iiae
但请发布预期输出的正确样本。您将吸引更多的爱好者和专家,并获得更多更好的质量答案。
修改:将您的示例与sed
一起使用:
$ echo helloabcdabcdhello | sed 's/[^hl]//g'
hllhll