Bash:如何选择某列中以大写字母开头的所有行

Bash:如何选择某列中以大写字母开头的所有行,bash,Bash,我有一个文本文件,第2列有单词,其他列中有一些数字与单词匹配。我想删除单词以小写字母开头的所有行。我可以使用一个命令吗 谢谢 $ cat test.txt 1,abc,2 3,Abc,4 5,bcd,6 7,Bcd,8 $ awk -F "," '$2 ~ /^[A-Z]/{print "Col1 " $1 " Col3 " $3}' test.txt Col1 3 Col3 4 Col1 7 Col3 8 您还没有给出输入文件的格式,我假设它是CSV AWK-F标志表示以逗号分隔。然后,

我有一个文本文件,第2列有单词,其他列中有一些数字与单词匹配。我想删除单词以小写字母开头的所有行。我可以使用一个命令吗

谢谢

$ cat test.txt
1,abc,2
3,Abc,4
5,bcd,6
7,Bcd,8


$ awk -F "," '$2 ~ /^[A-Z]/{print "Col1 " $1 " Col3 " $3}' test.txt
Col1 3 Col3 4
Col1 7 Col3 8
您还没有给出输入文件的格式,我假设它是CSV

AWK-F标志表示以逗号分隔。然后,您可以在awk脚本中访问$1、$2、$3等列


开头的awk筛选器确保第二列与正则表达式/^[A-Z]/匹配,并且对于每个成功匹配,都会发出print语句。

在此常规级别上,不是编程问题-投票关闭。您可能正在寻找
grep
和/或Awk。
我可以使用一个命令吗?
是的,有,您可以使用grep。文本文件没有列。Awk可以使用
Awk'$2!~/^[a-z]/{print}'out
,但那不是
bash
,它是一种完全独立的语言……很酷,非常感谢!他被称为矮子康马特。