我需要过滤以“abc”开头的字符串 示例:我有一个文本文件a.txt,其中包含:
youtube
showme adx
girlyouaremyfriend abcde
abcxe
在使用grep过滤后,这是我想要获得的结果:
abcde
abcxe
由于
答案 0 :(得分:1)
好的,如果我正确解释你的问题,那么你应该尝试这个(在Linux命令行中):
cat a.txt | tr " ", "\n" | grep "^abc"
说明:
cat读取文件并发送到stdout
tr将空格分隔的字符串拆分为换行符
grep执行匹配并返回指示的字符串
如果你死定,希望将输出放在一行,你可以追加:
| tr "\n", " "
答案 1 :(得分:0)
grep -o "\babc\w*" a.txt
应该做的伎俩
答案 2 :(得分:0)
grep -e "^abc" -e " abc" a.txt|sed 's/.*\(abc[^ ]*\).*/\1/'
答案 3 :(得分:0)
以下是awk
版本:
awk '{for (i=1;i<=NF;i++) if ($i~/^abc/) print $i}' file
abcde
abcxe