簡體   English   中英

Linux bash:查找包含特定文本的文件夾

[英]Linux bash: find folders containing specific text

我昨天學習了如何使用腳本,該腳本將顯示包含輸入文本的所有文件。

echo "enter serial number"
read number

matchfiles=(`find /home/data_files -maxdepth 1 -name "*$number*" -type f -exec basename {} \;`)

COUNTER=${#matchfiles[@]}

echo serial number data folder found:
until [  $COUNTER -lt 0 ]; do
echo ${matchfiles[$COUNTER]}
let COUNTER-=1
done

如果輸入數字12,它將輸出文件名中包含數字12的所有文件。

例如:

enter serial number
12
file12.fee
12file.foo
file.12

我正在尋找一種方法來做完全相同的事情,但使用目錄

所以輸出將是

enter serial number
12
folder12
12folder

我需要包含在數組中的文件夾名稱,以便以后可用於在其中處理數據。

find {path} -name "*$number*" -type d -exec readlink -f {} \;

如果您的可選{path}是相對的,則您希望readlink -f將相對路徑轉換為絕對路徑。 如果要限制目錄路徑中的遞歸搜索,則可能需要添加回-maxdepth

暫無
暫無

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

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