Sorting 如果某个字段小于某个值,如何打印列中的某些字段?
我有一个.txt文件,其中包含100所大学的数据,格式如下Sorting 如果某个字段小于某个值,如何打印列中的某些字段?,sorting,unix,awk,field,Sorting,Unix,Awk,Field,我有一个.txt文件,其中包含100所大学的数据,格式如下 {COLLEGE NAME} {CITY, STATE} {RANK} {TUITION} {IN STATE TUITION} {ENROLLMENT} 例如,这里有两行 YeshivaUniversity "New York, NY" 66 "$40,670 " "2,744" FordhamUniversity "New York, NY" 60
{COLLEGE NAME} {CITY, STATE} {RANK} {TUITION} {IN STATE TUITION} {ENROLLMENT}
例如,这里有两行
YeshivaUniversity "New York, NY" 66 "$40,670 " "2,744"
FordhamUniversity "New York, NY" 60 "$47,317 " "8,855"
还有98行,输出应该返回所有学费低于30000美元的学院
假设字段分隔符是空格,如何打印{tutory}
少于{30000美元的{COLLEGE NAME}{CITY,STATE}{tutory}
?是否可以使用awk
或sort
我使用GNU awk尝试了awk
和操作符的一些组合,因为它有FPAT
:
$ gawk '
BEGIN {
FPAT="([^ ]*)|(\"[^\"]+\")"
}
{
tuition=$4 # separate 4th column for cleaning
gsub(/[^0-9]/,"",tuition) # clean non-digits off
if(tuition<30000) # compare
print # and output
}'
$gawk'
开始{
FPAT=“([^]*)|”(\“[^\”]+\”)
}
{
学费=4美元#第四栏单独清洁
gsub(/[^0-9]/,“”,学费)#清除非数字
如果我刚刚意识到这一点,但理论上如果这不是问题,你会怎么做?请在你的问题中添加示例输入(无描述、无图像、无链接)和该示例输入所需的输出(无评论)。
$ gawk '
BEGIN {
FPAT="([^ ]*)|(\"[^\"]+\")"
}
{
tuition=$4 # separate 4th column for cleaning
gsub(/[^0-9]/,"",tuition) # clean non-digits off
if(tuition<30000) # compare
print # and output
}'