* -o使用grep [:阿尔法] []帮助
题
file.txt的含有:
##w##
##wew##
使用MAC 10.6,bash外壳,命令:
cat file.txt | grep [[:alpha:]]* -o
什么也不输出。我试图提取井号内的文本。我究竟做错了什么?
解决方案
(注意,这是更好的做法在这种情况下,以文件名作为参数传递,而不是到grep管道猫的输出到grep的:grep PATTERN file
代替cat file | grep PATTERN
)
什么是您使用才能执行此命令的壳呢?我怀疑你的问题是,外壳解释星号作为通配符,并试图文件glob的
尝试引用您的图案,例如grep '[[:alpha:]]*' -o file.txt
。
我注意到,这工作正常使用grep这是我的Linux机器上的版本,但在我的Mac上的grep需要命令grep -E '[[:alpha:]]+' -o file.txt
。
其他提示
sed 's/#//g' file.txt
/SCRIPTS [31]> cat file.txt
##w##
##wew##
/SCRIPTS [32]> sed 's/#//g' file.txt
w
wew
如果你有bash的> 3.1
while read -r line
do
case "$line" in
*"#"* )
if [[ $line =~ "^#+(.*)##+$" ]];then
echo ${BASH_REMATCH[1]}
fi
esac
done <"file"
不隶属于 StackOverflow