對awk字段
I的操作有一個包含完整路徑:/home/usr/文件名由下劃線分隔\u 123.txt/home/usr/另一個\u示例\u 456.rarI希望打印路徑中不帶擴展名的文件名,并在其旁邊打印最后
解答動態(tài)
awk-F[/.]'{print$(NF-1)}'
awk-F'{print$0quot;$NF}' 有沒有一種方法可以在沒有管道的情況下實現(xiàn)這一點?
我的問題可以歸結為,是否可以對awk解析的字段執(zhí)行操作?
謝謝你的幫助。
是的,你可以在球場上進行任何你喜歡的操作。為了示例:
$cat fileawk-F[/.]'{n=split($(NF-1),a,/./);print$(NF-1)quot;a[n]}的文件名\u由下劃線分隔\u 123另一個\u示例\u 456 456 當然,這里不需要cat;您可以讓awk直接讀取文件-由于默認的輸出字段分隔符是空格,將結果作為單獨的輸出字段而不是字符串conc編寫會更習慣國家:
awk-F[/.]'{n=split($(NF-1),a,//);print$(NF-1),a[n]}'文件
sed:
$sed的:.*/\(.*\\(.*\)\..*:\1\2:'文件名由下劃線分隔\u 123另一個\u示例\u 456 456 \ 您可以使用sed:
$sed-e的;^.*/\(.*\)\([0-9]*\)\...[^\.]*$;\1_2\2;'文件名由下劃線分隔\u 123另一個\u示例\u 456 456 ^.*/刪除路徑。
\(.*\)捕獲名稱直到最后一個下劃線。
\.[^\.]*刪除擴展名。
\1\2\2替換為捕獲的組。- End
免責聲明:
本頁內容僅代表作者本人意見,若因此產生任何糾紛由作者本人負責,概與琴島網公司無關。本頁內容僅供參考,請您根據自身實際情況謹慎操作。尤其涉及您或第三方利益等事項,請咨詢專業(yè)人士處理。