Text-Processing
如何將數值與標識符分開
我目前正在編寫一個 shell 腳本,將值與其標識符(從 grep 檢索)分開。
例如,如果我 grep 某個文件,我將檢索以下資訊:
value1 = 1 value2 = 74 value3 = 27
我想知道我可以使用什麼 UNIX 命令來獲取資訊並將其轉換為這種格式:
1 74 27
您可以像這樣使用awk:
grep "pattern" file.txt | awk '{printf "%s ", $3}'
取決於你做什麼
grep
,但你應該考慮使用awk
greping本身:awk '/pattern/{printf "%s ", $3}' file.txt
另一種利用bash 分詞的方法:
echo $(awk '/pattern/{print $3}' file.txt)
編輯:我有一個更有趣的方式來加入價值觀:
awk '/pattern/{print $3}' file.txt | paste -sd " " -
剝離所有內容,直到第一個
=
和後續空格,將換行符轉換為空格,並列印最後一個換行符:… | sed 's/^[^=]*= *//' | tr '\n' ' '; echo