簡體   English   中英

awk命令不輸出(awk:錯誤無法打開源文件)

[英]awk command not outputting(awk: error cant open source file)

大家好,我想刪除字符串中最后一個/之后的所有內容(參數)。 我遇到了一些我無法弄清楚的問題。抱歉,我犯了任何愚蠢的錯誤

 myvar1 = $(echo $1 | awk -f "/" '(print $NF)')

輸入樣例:

./root/桌面/測試

樣本輸出:

測試

您應該使用-F ,而不是-f但是還有其他問題。 將整個行更改為:

myvar1=$(echo "$1" | awk -F'/' '{print $NF}')

如果您確實要為此使用echo,awk和管道,而不僅僅是內置的bash。

同樣,上面的選項選擇最后一個'/'之后的內容,而不刪除后面的所有內容,因此不清楚您真正想要的是什么。 如果無法從中得出一些示例輸入和預期輸出,請執行以下操作:

$ x="a/b/c/d"; echo "${x##*/}"
d
$ x="a/b/c/d"; echo "${x%/*}"
a/b/c

只是另一個解決方案:

$ x=`basename /a/b/file`; echo $x
file
$ x=`dirname /a/b/file` ; echo $x
/a/b

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM