Linux 正在对不带';不适合某一组给定的字符
我想知道我怎样才能把所有不适合你想要的角色集的角色都变灰 例如,假设我有一个包含以下文本的文件Linux 正在对不带';不适合某一组给定的字符,linux,ubuntu,grep,Linux,Ubuntu,Grep,我想知道我怎样才能把所有不适合你想要的角色集的角色都变灰 例如,假设我有一个包含以下文本的文件 XXXXX0000000HelloXXXXXX MyXXXName0000Is00000000 XXXXXJamesXXX0X0X0X0XXX 我想让它打印出“HelloMyNameIsJames”或其他一些样式的字符(如果它以每行一个字符的形式打印出来,我可以接受) 任何帮助都将不胜感激! Raymosrunerx tr -d X0 < input 要删除线端,请执行以下操作: tr -
XXXXX0000000HelloXXXXXX
MyXXXName0000Is00000000
XXXXXJamesXXX0X0X0X0XXX
我想让它打印出“HelloMyNameIsJames”或其他一些样式的字符(如果它以每行一个字符的形式打印出来,我可以接受)
任何帮助都将不胜感激!
Raymosrunerx
tr -d X0 < input
要删除线端,请执行以下操作:
tr -d 'X0\n' < input
(无尾线端)
要删除线端,请执行以下操作:
tr -d 'X0\n' < input
(无尾随线端)尝试:
sed -e 's/[X0]//g' input
grep
不会为您删除内容。尝试:
sed -e 's/[X0]//g' input
grep
不会为您删除内容。另一种解决方案,使用grep
(如果您的grep
支持-o
):
另一种解决方案,每行一个字符,使用
grep
(如果您的grep
支持-o
):
如果这些行包含在文件testdata中,则以下命令将打印每行,如图所示:
sed -e 's/[0X]//g' testdata | xargs
Hello MyNameIs James
希望这能满足您的需求 如果这些行包含在文件testdata中,则以下命令将打印一行,如图所示:
sed -e 's/[0X]//g' testdata | xargs
Hello MyNameIs James
希望这能满足您的需求 如果您喜欢每行一个单词,这里有一种方法可以使用
GNU grep
:
grep -oP '(?<=[0X]|\b)[^0X]+(?=[0X]|\b)' file.txt
您可以使用sed
整理输出:
< file.txt grep -oP '(?<=[0X]|\b)[^0X]+(?=[0X]|\b)' | sed ':loop; N; $!b loop; s/\n/ /g'
如果您喜欢每行一个单词,这里有一种使用
GNU grep
的方法:
grep -oP '(?<=[0X]|\b)[^0X]+(?=[0X]|\b)' file.txt
您可以使用sed
整理输出:
< file.txt grep -oP '(?<=[0X]|\b)[^0X]+(?=[0X]|\b)' | sed ':loop; N; $!b loop; s/\n/ /g'
因此,在本例中,您希望消除X和0?因此,在本例中,您希望消除X和0?请参阅我对GNU
grep
解决方案的回答。请参阅我对GNUgrep
解决方案的回答。