我试图只打印不以文件“main”
中的字母开头的行我试过sed -n '/^[a-z]/ /!w' main
它给了我“w':事件没找到”
答案 0 :(得分:2)
根据要求sed
:
sed '/^[[:alpha:]]/d' main
或
sed -n '/^[^[:alpha:]]/p' main
或
sed -n '/^[[:alpha:]]/!p' main
注意:您可以使用[a-z]
代替[[:alpha:]]
,但我更喜欢后者,因为它可以安全地在不同的语言环境中使用
答案 1 :(得分:0)
grep -v '^[a-z]' main
会这样做。
答案 2 :(得分:0)
还有许多其他打印线的方法
sed -n '/^[^a-zA-Z]/p' main
sed -n '/^[^a-z]/Ip' main
awk 'BEGIN{IGNORECASE=1}!/^[a-z]/' main
grep -vi "^[a-z]" main
ruby -ne 'print unless /^[a-z]/i' main
壳
while read -r line
do
case "$line" in
[^a-zA-Z]*) echo $line;;
esac
done < main