簡體   English   中英

獲取目錄中唯一文件的完整路徑

[英]Get the full path of the only file in a directory

我有一個包含單個文件的目錄。 文件名是隨機的,但擴展名是固定的。

myDirectory
|----file12321.txt

有沒有一種單行方式來提取該文件的完整路徑?

MY_FILE=myDirectory/*.txt

電流輸出:

/home/me/myDirectory/*.txt

預期的:

/home/me/myDirectory/file12321.txt

使用readlink獲取readlink路徑。

MY_FILE=$(readlink -f myDirectory/*.txt)

如果您只想要myDirectory/file12321.txt部分,您可以運行一個命令,讓 shell 展開* ,例如:

MY_FILE=$(printf "%s\n" myDirectory/*.txt)

如果確定只有一個文件,您可以只使用一個數組:

MY_FILE=( /home/me/myDirectory/*.txt )

文件名擴展發生在數組定義中,但不是在設置普通變量的值時發生。 您可以像普通變量一樣使用數組,因為這將提供第一個元素的值:

$ foo=(1 2 3)
$ echo "$foo"
1
MY_FILE=$(pwd)/$(ls myDirectory/*.txt)
# $MYFILE == /home/me/myDirectory/file12321.txt

暫無
暫無

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

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