如何打印出具有特定擴展名的某個目錄中每個文件的名稱?打印具有特定擴展名的每個文件的名稱
這是我到目前爲止有:
#!/bin/sh
DIR="~/Desktop"
SUFFIX="in"
for file in $DIR/*.$SUFFIX
do
if [ -f $file ]; then
echo $file
fi
done
遺憾的是它不工作。
它有什麼問題?
如何打印出具有特定擴展名的某個目錄中每個文件的名稱?打印具有特定擴展名的每個文件的名稱
這是我到目前爲止有:
#!/bin/sh
DIR="~/Desktop"
SUFFIX="in"
for file in $DIR/*.$SUFFIX
do
if [ -f $file ]; then
echo $file
fi
done
遺憾的是它不工作。
它有什麼問題?
你可以使用與-type f
#!/bin/sh
DIR="~/Desktop"
SUFFIX="in"
find "$DIR" -maxdepth 1 -type f -name "*.${SUFFIX}" -exec somecommand {} \;
foreach-strucure是一個準備/測試。 lateron該文件應該被傳遞給一個jar文件作爲參數 – flip 2011-05-07 17:47:31
for file in `ls $DIR/*.$SUFFIX`
注意找到ls
和反引號
在您的DIR = 「〜/桌面」 的 「〜」 不能擴大,因爲這是在「 」。 刪除「」。 DIR =〜/桌面
另外,do **在變量替換周圍使用雙引號**:用於「$ DIR」/*."" SUFFIX「'中的文件。 – Gilles 2011-05-07 18:09:21
對於您的信息:Unix系統中的「文件」通常是一個命令的名稱。
其目的是分析作爲參數給出的文件並推斷出格式。例如:
$ file entries.jar
entries.jar: Zip archive data, at least v2.0 to extract
測試列出的文件是否存在似乎毫無意義。 – 2011-05-07 17:51:08