例如,如果我有一個文件如下:腳本讀取與許多列的文件到一個文件中有一列
1 2 3 4 5 6
7 8 9 10 11 12
而且我希望重新組織該文件爲:
1
2
3
4
5
6
7
8
9
10
11
12
我可以使用awk
命令嗎?
例如,如果我有一個文件如下:腳本讀取與許多列的文件到一個文件中有一列
1 2 3 4 5 6
7 8 9 10 11 12
而且我希望重新組織該文件爲:
1
2
3
4
5
6
7
8
9
10
11
12
我可以使用awk
命令嗎?
有多種方法可以實現這一點。
隨着grep
:
grep -oE "[0-9]+" file
-o
標誌只打印匹配模式(在這種情況下,數字),由換行-E
激活擴展正則表達式定界。隨着awk
:
awk 'OFS="\n"{$1=$1}1' file
OFS
定義了輸出字段分隔符。$1=$1
因爲我們改變了OFS,我們需要通過將第一個字段設置爲自身來重建該行,這將強制重建。1
至少我們需要一個真正的條件,即行被打印。隨着sed
:
TMP$ sed -r 's/ +/\n/g' File
1
2
3
4
5
6
7
8
9
10
11
12
與換行符替換所有連續的空間。
謝謝!但是這個表揚將在不同欄目的數據之間創建一條空行。 awk'OFS =「\ n」{$ 1 = $ 1} 1'給出一列沒有任何空行。 – Sky
這可能是因爲每一行都以一個或多個空格終止... –
天真AWK方法:
#!/usr/bin/awk -f
{ for (i = 1; i <= NF; i++) print $i; }
混沌的方法可能是更有效的。
但您的閱讀起來更容易......謝謝! – Sky
看到這個:[我試圖創建一個文件集合的單詞字典。有沒有簡單的方法來打印文件中的所有單詞,每行一個?](http://stackoverflow.com/questions/1123572/extract-words-from-a-file)? – pelumi