shell指令碼,判斷目錄內是檔案還是子目錄

2022-02-26 18:35:52 字數 2298 閱讀 9960

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 資料夾。自選股就藏在這個裡面的 ...