我想問一個關於「AWK」的問題,例如:如何grep文本文件中的數字?
awk '{print $8}' tes.txt
output : size=21341,
,但我只希望到grep號「21341」,你能不能給我說說怎麼到grep數量的解決方案?
我想問一個關於「AWK」的問題,例如:如何grep文本文件中的數字?
awk '{print $8}' tes.txt
output : size=21341,
,但我只希望到grep號「21341」,你能不能給我說說怎麼到grep數量的解決方案?
awk '{print $8}' tes.txt | grep -o '[0-9]*'
output: 21341
grep -o <regex>
僅打印匹配行的匹配的部件,具有在單獨的輸出線每一個這樣的部分。查看更多詳情。
要提取部分之後=
,管道輸出到cut
:
awk '{print $8}' tes.txt | cut -d= -f2
awk '{split ($8, s, "="); print s[2]}' tes.txt
output: 21341
儘管這段代碼可能會回答這個問題,但提供了關於如何和/或爲什麼的附加上下文它解決了問題會提高答案的長期價值。 – Badacadabra
您可以使用該功能sub
在awk
做到這一點。
awk '{sub(/^.*=/,"",$8);print $8}' tes.txt
sub(/^.*=/,"",$8)
:消除之前的 「=」 的模式,你會得到的數字部分。
與sed
:
awk '{print $8}' tes.txt|sed 's/.*size=\(.*\),$/\1/'
這裏是一個grep的解決方案:
grep -oP '(?<=size=)\d+' file
此刻,所以如果你想將它限制在一個特定它搜索整個文件你必須在之前使用awk。
正如所寫,這沒有任何意義。你想要大小後的數字=? – John3136
[Grep:Capture just number]可能的重複(https://stackoverflow.com/questions/27827023/grep-capture-just-number) – GilZ