每天一道程式設計題 6

2021-09-02 13:31:34 字數 1343 閱讀 2026

1.  掃瞄當前目錄下所有.txt結尾的檔案,但每次列出10個檔案,提示是否要刪除這10個檔案。若選擇不是則不刪除,並繼續顯示下10個檔案詢問提示。若選擇是則刪除,並繼續顯示下10個檔案詢問提示。

#!/bin/sh

pwd=/data0/test/

count=0

for i in `ls /data0/test/*.txt`

do ((count++));

if [ $count -eq 10 ];then

echo "$file" | sed -e 's/ /\n/g'

read -p "do you delete them or not?" c

if ( c=="y" );then

rm -rf $file

count=0

file=""

fielse

file=$file" "$i

fidone

注意shell中的字串連線為file=file" ""abc",if的判斷可以使用c的判斷。

上面指令碼有問題,可以看出來嗎?在if判斷式中,字串判斷中變數應該是字串引用值$c,並且等號左右需要有空格"$c" = "y"或者"$c" == "y"。在test判斷中,連續幾個邏輯變數可以用-a或-o來表示。-a指and , o顧名思義指or。並且這裡還有乙個問題,當此目錄下txt檔案不足10時,也需要詢問是否刪除並展示。故最終的版本如下:

#!/bin/sh

pwd=/data0/test

count=0

num=0

sum=`find $pwd -name "*.txt" | wc -l`

if [ $sum -eq "0" ];then

echo "there's no txt file in $pwd"

else

for i in `ls $pwd/*.txt`

do ((count++));

((num++));

file=$file" "$i

if [ $count -eq "10" -o $num -eq $sum ]; then

echo "$file" | sed -e 's/ /\n/g'

read -p "do you delete them or not?" c

if [ "$c" = "y" -o "$c" = "y" ];then

rm -rf $file

ficount=0

file=""

fidone

fi

tip: find -name 中的名字需要有引號,比如find path -name "*.html",如無,結果是不對的。

每天一道程式設計題 3

1.編寫乙個shell指令碼,從鍵盤讀入10個數,顯示最大值和最小值。bin sh echo enter your number read input max input min input for i in seq 2 10 do read a if echo a awk v b max eq 1...

每天一道演算法題

no.1 棧是特殊的線性表,它。a.對 b.錯答案 錯,它的插入和刪除都是在同一端進行的。no.2 n個葉子節點的滿二叉樹 除了葉子節點,每個節點都有兩個孩子 總共有多少個節點?a.2n 1 b.2n c.n 1 d.n答案 a 滿二叉樹我們講過了,度為0的節點比度為2的加點多乙個。滿二叉樹是特殊的...

每天一道Linux題

1 為了檢視不斷更新的日誌檔案,可以使用的指令是 a.cat n b.vi c.more d.tail f 答案 這道題沒什麼好說的,使用tail f可以看到實時更新的日誌檔案,選d.2 檔案exer1的訪問許可權為rw r r 現要增加所有使用者的執行許可權和同組使用者的寫許可權,下列哪個命令是對...