Unix 使用sed打印特定行
我试图只打印不以文件“main”中的字母开头的行 我试过了!w’main 它给我“w”:未找到事件Unix 使用sed打印特定行,unix,sed,Unix,Sed,我试图只打印不以文件“main”中的字母开头的行 我试过了!w’main 它给我“w”:未找到事件 将完成此操作。根据要求使用sed: sed '/^[[:alpha:]]/d' main 或 或 注意:您可以使用[a-z]代替[:alpha:],但我更喜欢后者,因为它可以安全地跨不同地区使用打印行还有许多其他方法 sed -n '/^[^a-zA-Z]/p' main sed -n '/^[^a-z]/Ip' main awk 'BEGIN{IGNORECASE=1}!/^[a-z]/'
将完成此操作。根据要求使用
sed
:
sed '/^[[:alpha:]]/d' main
或
或
注意:您可以使用
[a-z]
代替[:alpha:]
,但我更喜欢后者,因为它可以安全地跨不同地区使用打印行还有许多其他方法
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
壳
读取时-r行
做
大写“$line”
[^a-zA-Z]*)回音$line;;
以撒
完成
如果在文本文件中打印字母,比如说a和z之间的字母,那么打印它们怎么样
sed -n '/^[^[:alpha:]]/p' main
sed -n '/^[[:alpha:]]/!p' main
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