簡體   English   中英

如何使用“~”作為 AWK 字段分隔符?

[英]How can I use “~” as an AWK field separator?

我正在嘗試將文件分隔符用作“〜”,但不知何故它無法正常工作,而其他分隔符如“,”,“|” 正在按預期工作。 我的意思是沒有錯誤,但我沒有得到想要的 output。

我正在嘗試在“example.txt”文件中使用相同的數據,我添加了 2 行由 ~ 分隔,然后將其更改為 |。

主要目的是在記錄末尾添加拆分名稱(僅在 newmodifiedline 中感興趣)rest 我只是想測試這些值。

awk 代碼:

awk 'BEGIN { FS = "~" } ; {line=$0}; {fullname=$1}; {split(fullname, a, " ")}; {arrysize=length(a)}; {newmodifiedline=line"~"a[1]"~"a[2];}; {print fullname, arrysize, a[1], a[2], "-->",newmodifiedline}' example.txt

這適用於 POSIX 和 GNU awk:

echo '1~2~3' | awk -v FS="~" '{print $2}'
echo '1~2~3'| awk 'BEGIN{FS="~"} {print$2}'

兩者都按預期打印2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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