我对 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
/
但仍然在路径中丢失。