2016-08-26 2 views
0

СнизуAWK или вырезать поле с именем файла, который имеет место

-rw-r--r-- 1 user user 0 Aug 26 15:20 /home/user/public_html/this\ space.ext 

Я хочу, чтобы извлечь последнюю колонку. Ожидаемый результат: /Главная/пользователь/public_html/это \ space.ext

То, что я пытался с разрезом:

ls -lh /home/user/public_html/this\ space.ext | cut -d ' ' -f9 

выход:

/home/user/public_html/this\ 

То, что я пытался с AWK: Ls -lh/home/user/public_html/this \ space.ext | AWK '{печать $ 9}'

выход:

/home/user/public_html/this\ 
+3

[Не разбирайте 'ls'] (http://mywiki.wooledge.org/ParsingLs)! Что именно вы пытаетесь достичь? –

+1

['Do not parse ls'] (http://mywiki.wooledge.org/ParsingLs). Вместо этого просто скажите 'ls -h', без' l'. – fedorqui

+0

дубликат http://stackoverflow.com/questions/15721925/shell-must-parse-ls-al-output-and-get-last-field-file-or-directory-name-any-s –

ответ

1

с awk

$ echo "-rw-r--r-- 1 user user 0 Aug 26 15:20 /home/user/public_html/this\ space.ext" | 
    awk -F'[^\\\\] ' '{print $NF}' 

/home/user/public_html/this\ space.ext 

определить разделитель как пространство после того, как не-обратной косой символ.

Смежные вопросы