AWK
如果字符串只是一个目录,我想用来获取文件名或最后一个文件夹的名称。
我有:
awk -F '/' '{print $NF}'
Run Code Online (Sandbox Code Playgroud)
打印最后一列和:
awk -F '/' '{print $(NF - 1)}
Run Code Online (Sandbox Code Playgroud)
在最后一列之前打印一列。
如何awk
识别字符串是否仅包含目录而没有文件名,并在这种情况下在最后一列之前打印一列。
我的问题是目录可能如下所示:
./folder1/folder2/folder3/
Run Code Online (Sandbox Code Playgroud)
在这种情况下,最后一列将为空。我想awk
识别这个然后打印folder3
(所以在最后一列之前一列)。
小智 5
为此,您可以使用if
或?:
运算符。
awk -F '/' '{print $NF == "" ? $(NF - 1) : $NF}'
Run Code Online (Sandbox Code Playgroud)
awk -F '/' '{if($NF == "") print $(NF - 1); else print $NF}'
Run Code Online (Sandbox Code Playgroud)