对于我的生活,我无法让我的Linux任务部分工作。这是要求:
到目前为止,我们已经:
grep -iv chevy cars
现在让我们删除10,000美元或更多的汽车。管道输出 通过删除与常规匹配的记录,将grep转换为sed来执行此操作 表达式在记录末尾表示5个(或更多)数字(请勿 为此使用重复因子,例如
{5}
:
我觉得应该是:
grep -iv 'chevy' cars | sed '/[0-9][0-9][0-9][0-9][0-9]*/ d'
我已经在这里试过很多解决方案......但没有任何效果。
输入数据:
plym fury 77 73 2500
chevy nova 79 60 3000
ford mustang 65 45 17000
volvo gl 78 102 9850
ford ltd 83 15 10500
Chevy nova 80 50 3500
fiat 600 65 115 450
honda accord 81 30 6000
ford thundbd 84 10 17000
toyota tercel 82 180 750
chevy impala 65 85 1550
ford bronco 83 25 9525
答案 0 :(得分:1)
忽略教授的程序所期望的内容,这些要求(不能以“chevy”或“Chevy”开头,不能以5位或更多位数结尾)也适合单个sed命令:
$ sed '/^[Cc]hevy/d;/[[:digit:]]\{5,\}$/d' cars
plym fury 77 73 2500
volvo gl 78 102 9850
fiat 600 65 115 450
honda accord 81 30 6000
toyota tercel 82 180 750
ford bronco 83 25 9525
或单个grep命令:
$ grep -vi '^chevy\|[[:digit:]]\{5,\}$' cars
plym fury 77 73 2500
volvo gl 78 102 9850
fiat 600 65 115 450
honda accord 81 30 6000
toyota tercel 82 180 750
ford bronco 83 25 9525
实际输入在行尾包含空格,因此上面的命令实际上不起作用。如果这些空白是真实的而不仅仅是复制粘贴的结果,则必须考虑如下:
sed '/^[Cc]hevy/d;/[[:digit:]]\{5,\}[[:blank:]]*$/d' cars
和
grep -vi '^chevy\|[[:digit:]]\{5,\}[[:blank:]]*$' cars
答案 1 :(得分:0)
你错过了很多[0-9]:
grep -vi chevy cars| sed '/[0-9][0-9][0-9][0-9][0-9][0-9]*$/d'
plym fury 77 73 2500
volvo gl 78 102 9850
fiat 600 65 115 450
honda accord 81 30 6000
toyota tercel 82 180 750
ford bronco 83 25 9525
做你想要的。任何五位或五位以上的数字都被省略了。
答案 2 :(得分:0)
试试这个:
[root@kintuparantu tmp]# awk '$5<10000' aaaaaaa.csv
plym fury 77 73 2500
chevy nova 79 60 3000
volvo gl 78 102 9850
Chevy nova 80 50 3500
fiat 600 65 115 450
honda accord 81 30 6000
toyota tercel 82 180 750
chevy impala 65 85 1550
ford bronco 83 25 9525
答案 3 :(得分:0)
<强>汽车:强>
plym fury 77 73 2500
chevy nova 79 60 3000
ford mustang 65 45 17000
volvo gl 78 102 9850
ford ltd 83 15 10500
Chevy nova 80 50 3500
fiat 600 65 115 450
honda accord 81 30 6000
ford thundbd 84 10 17000
toyota tercel 82 180 750
chevy impala 65 85 1550
ford bronco 83 25 9525
试试这个:
$ grep -iv 'chevy' cars | sed -r '/[0-9][0-9][0-9][0-9][0-9]+/d'
<强>输出:强>
plym fury 77 73 2500
volvo gl 78 102 9850
fiat 600 65 115 450
honda accord 81 30 6000
toyota tercel 82 180 750
ford bronco 83 25 9525
答案 4 :(得分:0)
awk '$5 < 10000 && !/[Cc]hevy/' file
plym fury 77 73 2500
volvo gl 78 102 9850
fiat 600 65 115 450
honda accord 81 30 6000
toyota tercel 82 180 750
ford bronco 83 25 9525