[英]Use awk to print print from a file that has a string of text with spaces
這可能很簡單,但是會出錯。
我有一個格式如下的文件:
6468511 node_modules aotehu
6468520 jsuno.js hello there
這是三列。 最后一個可以是任何長度的任何文本(它是該項目的注釋)。
我有類似下面的東西,但它只抓住了最后一個問候。 我如何抓住所有文本'你好'並將其保存到var $ 3:
awk '/6468520/ {print $3}' comments
謝謝。
試試這個
awk '/6468520/ {var1=$1; var2=$2; $1=$2=""; sub(/^ +/, "");
print var1, var2, $0}' file
從$0
消除$1
和$2
。 左邊修剪$0
並打印
你可以使用grep
和cut
:
grep -e ^6468520 your.file | cut -d' ' -f3-
grep
將打印以6468520
開頭的行,cut將按空格分割行,並從第三列打印到行尾。
這將刪除$ 1和$ 2並打印剩余部分。
awk '/6468520/ {$1=$2="";sub(/^ +/,x);print}' file
hello there
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.