我有一個awk處理簡單的問題。 但對我來說並不簡單明瞭。 這是我需要解析:
$ cat file
/dir1/dir11/file1
/dir10/dir103/file2
/dir2/dir21/dir221/file3
什麼需要我,有分離路徑的文件(無文件名),如:
/dir1/dir11
/dir10/dir103
/dir2/dir21/dir221
我已經媒體鏈接嘗試這樣做:
$ cat file | awk -F"/" '{for (i=1;i<NF;i++) print $i}'
dir1
dir11
dir10
dir103
dir2
dir21
dir221
這:
$ cat file | awk -F"/" '{for (i=1;i<NF;i++) printf $i}'
dir1dir11dir10dir103dir2dir21dir221
和最好的結果:
$ cat file | awk -F"/" '{ $NF=""; print}'
dir1 dir11
dir10 dir103
dir2 dir21 dir221
但仍然缺少路徑中/
。
謝謝所有。 :)我只是好奇,當我想改變OFS到「\」它在這個例子中怎麼可能? – molni
不客氣。 – anubhava
@molni:你想使用反斜槓作爲OFS或正斜槓?上面的示例僅顯示正斜槓。 – anubhava