Text-Processing

如何將數值與標識符分開

  • February 11, 2018

我目前正在編寫一個 shell 腳本,將值與其標識符(從 grep 檢索)分開。

例如,如果我 grep 某個文件,我將檢索以下資訊:

value1 = 1
value2 = 74
value3 = 27

我想知道我可以使用什麼 UNIX 命令來獲取資訊並將其轉換為這種格式:

1 74 27

您可以像這樣使用awk

grep "pattern" file.txt | awk '{printf "%s ", $3}'

取決於你做什麼grep,但你應該考慮使用awkgreping本身

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

引用自:https://unix.stackexchange.com/questions/64930