У меня проблема с awk-обработкой простой вещи. Но не простой и понятный для меня. Это то, что мне нужно разобрать:
$ cat file
/dir1/dir11/file1
/dir10/dir103/file2
/dir2/dir21/dir221/file3
И что желателен для меня, чтобы иметь отделенный путь к файлам (без имен файлов), как:
/dir1/dir11
/dir10/dir103
/dir2/dir21/dir221
Я Allready попытался это:
$ 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