1樓:不知詳解
你能不能一次把問題提完整呢。
shell 沒有提供處理檔案系統的底層功能。
可以使用重定向,在得到一行後就立刻匹配,完成後立刻退出。它不需要等到ls命令完成。可以操作目錄下存在大量檔案的情況。
效率最快的是這個:
ls /opt -1f --sort=none | ( read line;echo "$line"| if grep -q "/$" ; then exit 0 ;else exit 1 ; fi ;)
這個命令返回0 表示/opt 目錄下存在目錄(不代表全部都是目錄,這條命令基於你在問題中的假設)。返回非0表示包含非目錄檔案。
-1 表示ls 輸出一行個檔案。
-f 表示輸出的每個檔案字尾一個符號表示檔案型別,資料夾的字尾為 /
--sort=none 表示按照磁碟儲存順序進行輸出,不進行排序。
|grep -q '/$' 表示 如果匹配到/ 結尾的行。
最近幾天你提的問題相當零散。都不知道你的思維對不對。
shell 本身就不是高效率的語言。想要高效率應該使用其他指令碼語言,例如perl 。
shell指令碼判斷是檔案還是資料夾
2樓:匿名使用者
那就寫兩個if判斷吧
if [ -f $file ]
if [ -d $file ]
3樓:匿名使用者
1、用if [-d或-f ]判斷即可
2、例如f.sh:
#!/bin/bash
file=$1
if [[ -z $1 ]];then
echo "usage: $0 filename"
exit 0;
fiif [ -d $file ];thenecho $file is a directory;
else
echo $file is a file;
fi3、執行
./f.sh /opt
/opt is a directory
——-——————————————————————————./f.sh /bin/ls
/bin/ls is a file
shell指令碼中判斷檔案,目錄是否存在或者具有
在linux下編寫shell指令碼,判斷當前目錄下所有檔案型別,如果是普通檔案,顯示內容,如果是目錄
4樓:匿名使用者
for file in *
doif [ -f "$file" ]
then
if [ -s "$file" ]
then
printf "file:$file\n"
cat "$file"
else
rm "$file"
fielse [ -d "$file" ]printf "directory:$file\n"
ls "$file"
fiprintf "\n\n\n"
done
shell指令碼判斷資料夾下是否有檔案
5樓:匿名使用者
我們可以通過判斷資料夾中的檔案的列表是否為空來判斷:
if [[ -n $(ls) ]]; then# do something here
else
# do something else herefi
6樓:風起雪落
#!/bin/sh
directory=$1
if [ "`ls -a $directory`" = "" ]; then
echo "$directory is indeed empty"
else
echo "$directory is not empty"fi
7樓:匿名使用者
#!/bin/sh
myfile="~/log/mylog.log"
if [ ! -f "$myfile" ]; thentouch "$myfile"
fi 注意if裡面的中括號的任意一個空格,具體可以參考shell 程式設計方面的書籍
8樓:匿名使用者
#/bin/bash
dir=/test
num=`ls -l $dir | wc - l`if [ num -eq 0 ];thenecho "no"
else
echo "yes」
office檔案,是封面,是目錄,都沒
如果列印一個節的一部分,就要加入節 這就要看你是怎麼分節的。如果封面 目錄都在第1節,正文在第2節,在列印對話方塊的 頁碼範圍 中輸入 p2s1,s2,就會列印第1節的第2頁和第2節全部。在畢業 word文件裡面第一頁是封面,第二頁是目錄,要從第三頁開始插入頁碼數字?20 不要用頁碼功能,用頁首與頁...
如何在visual basic中判斷檔案是不是存在的函式或方法
其實型別轉換函式很簡單,就是在所有型別的字首上加一個c,比如long型的字首是lng所以轉換為long的函式就是clng依次類推 需要說名的是cint有類似四捨五入的功能不過有靠偶性質。要是把 123 轉換為123就用val就可以。其他很多函式我覺得你最好是學到 在學,比如我給你說個lof 得到檔案...
大智慧的自選股是存在哪個資料夾目錄下的
就在你這大智慧資料夾裡面有個 cfg 資料夾。自選股就藏在這個裡面的 netwrkic.bk2 檔案 用記事本開啟這個檔案可見如 600001 等你的自選股編號 可把這個檔案另存。以後重灌後拷貝過來覆蓋新的就可以了。1.經典大智慧 在這個大智慧資料夾裡面有個 cfg 資料夾。自選股就藏在這個裡面的 ...