Shell 管道排序为sed,匹配记录末尾的5位或更多数字?
文件 我必须删除所有10000美元或以上的汽车(文件的最后一列)。为了做到这一点,我必须将排序的输出通过管道传输到sed中,方法是当表示5个或更多数字的正则表达式在记录末尾匹配时退出 这是我必须执行的命令:Shell 管道排序为sed,匹配记录末尾的5位或更多数字?,shell,unix,Shell,Unix,文件 我必须删除所有10000美元或以上的汽车(文件的最后一列)。为了做到这一点,我必须将排序的输出通过管道传输到sed中,方法是当表示5个或更多数字的正则表达式在记录末尾匹配时退出 这是我必须执行的命令:grep-iv雪佛兰汽车| sort-nk5 到目前为止,我试过: grep-iv雪佛兰汽车| sort-nk5 | sed-n'/[0-9]{5}*/' 但是没有用 使用-n开关,您必须显式地p打印匹配行和!p打印非加工线,即不成本为5位数的汽车。还要将$添加到模式中以仅在末尾匹配,并对重
grep-iv雪佛兰汽车| sort-nk5
到目前为止,我试过:
grep-iv雪佛兰汽车| sort-nk5 | sed-n'/[0-9]{5}*/'
但是没有用
使用
-n
开关,您必须显式地p
打印匹配行和!p
打印非加工线,即不成本为5位数的汽车。还要将$
添加到模式中以仅在末尾匹配,并对重复组转义\{
和\}
,否则它将匹配数字后面的文本字符串{5}
所以试试这个:sed-n'/[0-9]\{5\}$/!p'
如果要在第一次匹配时退出,而不是只打印相关匹配,请尝试使用
q
命令,而不是!p
使用-n
开关,您必须显式地p
打印匹配行,并且!p
打印非加工线,即不成本为5位数的汽车。还要将$
添加到模式中以仅在末尾匹配,并对重复组转义\{
和\}
,否则它将匹配数字后面的文本字符串{5}
所以试试这个:sed-n'/[0-9]\{5\}$/!p'
如果要在第一次匹配时退出,而不是只打印相关匹配,请尝试使用q
命令,而不是!p
试试看
So far we have:
grep -iv chevy cars | sort -nk 5
Now let's delete the cars that are $10,000 or more. Pipe the output of the sort into
a sed to do this, by quitting as soon as we match a regular expression representing 5
(or more) digits at the end of a record (DO NOT use repetition for this):
You entered: grep -iv chevy cars | sort -nk 5 | sed -n '/[0-9]{5}$/'
Please try again.
看起来很乏味,但它能工作 试试看
So far we have:
grep -iv chevy cars | sort -nk 5
Now let's delete the cars that are $10,000 or more. Pipe the output of the sort into
a sed to do this, by quitting as soon as we match a regular expression representing 5
(or more) digits at the end of a record (DO NOT use repetition for this):
You entered: grep -iv chevy cars | sort -nk 5 | sed -n '/[0-9]{5}$/'
Please try again.
sed '/[0-9][0-9][0-9][0-9][0-9]$/ d'
看起来很乏味,但它能工作 也许你需要和我聊聊。他的问题看起来和你的几乎一样(他也需要删除价值1万美元的雪佛兰汽车),所以你可能在上同样的课。也许你需要和他聊聊。他的问题看起来和你的几乎一样(他也需要删除价值1万美元的雪佛兰汽车),所以你可能在做同样的课程。
sed '/[0-9][0-9][0-9][0-9][0-9]$/ d'