这可能很简单,但是会出错。
我有一个格式为:
的文件6468511 node_modules aotehu
6468520 jsuno.js hello there
这是三列。最后一个可以是任何长度的任何文本(它是该项目的注释)。
我有类似下面的东西,但它只抓住了最后一个问候。我如何抓住所有文本'你好'并将其保存到var $ 3:
awk '/6468520/ {print $3}' comments
感谢。
答案 0 :(得分:2)
试试这个
awk '/6468520/ {var1=$1; var2=$2; $1=$2=""; sub(/^ +/, "");
print var1, var2, $0}' file
从$1
取消$2
和$0
。左边裁剪$0
并打印
答案 1 :(得分:1)
您可以使用grep
和cut
:
grep -e ^6468520 your.file | cut -d' ' -f3-
grep
将打印以6468520
开头的行,cut将按空格分割行,并从第三列打印到行尾。
答案 2 :(得分:0)
这将删除$ 1和$ 2并打印休息。
awk '/6468520/ {$1=$2="";sub(/^ +/,x);print}' file
hello there