簡體   English   中英

使用awk從具有空格的文本字符串的文件中打印打印

[英]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並打印

你可以使用grepcut

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM