當前位置:首頁 » 文件管理 » shellforin文件夾

shellforin文件夾

發布時間: 2023-09-05 07:10:19

① shell怎麼遍歷一個文件夾下所有文件

# find . -type f
./a
./normal/log-1
./normal/log-2
./normal/log-3

通過find找到文件
那麼遍歷就用循環
for i in `find . -type f`
do
echo $i

done

② 用shell腳本中刪除某文件夾下的七天之前生成的文件夾

oldDate=$(date-d"-7days""+%Y%m%d")。

cdyourFolder#這里寫你的文件夾路徑。

forfolderin$(ls-d*/)。

do。

[${folder%/*}-lt$oldDate]&&rm-rf$folder。

done。

(2)shellforin文件夾擴展閱讀:

打開文本編輯器(可以使用vi/vim命令來創建文件),新建一個文件test.sh,擴展名為sh(sh代表shell),擴展名並不影響腳本執行,見名知意咐梁就好襲租,如果你用php寫shell 腳本,擴展名就用php好拍簡兆了。

輸入一些代碼,第一行一般是這樣:

#!/bin/bashecho"HelloWorld!"

"#!" 是一個約定的標記,它告訴系統這個腳本需要什麼解釋器來執行,即使用哪一種Shell。

echo命令用於向窗口輸出文本。

③ Shell獲取某目錄下所有文件夾的名稱

方法有三,如下:

④ 請教大神shell的for in語句中怎麼使用多個變數

1、遍歷按空格分隔的字元串:

#!/bin/bash

servers="abc123 das 222"

for server in$servers

do

echo$server

done

2、遍歷字元串列表、用空格分隔:

#!/bin/bash

for server in a b c

do

echo$server

done

3、遍歷參數列表:

#!/bin/bash

for arg in $*

do

echo$arg

done

4、遍歷文件目錄:

#!/bin/bash

for i in ~/*.sh

do

echo$i

cat$i

done

註:$i是整個目錄和文件,for in語句也可以與` `和$( )配合使用,例如:

#!/bin/bash

for i in $(ls~/*.sh)

do

echo$i

cat$i

done

(4)shellforin文件夾擴展閱讀:

LInux shell之(for in)用法總結

一、語法

for 變數名 in 列表 do 程序段(command) done

注意1:是變數名而不是$變數!

注意2:列表可以做文章!

二、應用

第一類:數字性循環-->seq在in後面的應用

#!/bin/bash

#也是產生等差數列-->默認是1

for i in $(seq 1 10)

#產生的是一個字元串,默認IFS是以空格隔開!

do

echo $(expr $i * 3 + 1);

#主要是復習:expr乘法的特殊用法!-->空格隔開

done

補充:產生[1,10]的自然數-->{}在in後面的應用

total=0

#全局變數for i in {1..100} #".."表示連續,默認也是IFS為空格隔開

do

((total+=i))

doneecho -e "total is:${total}"

#多行注釋

<<COMMENRfor i in mysql_{0,1,4,12}sql

#多個文件

do

echo $i

samtools view -c $i

doneCOMMENT

第二類:字元性循環

最原始的

#!/bin/bash

#使用列表for循環顯示周一到周日對應的英文-->學習日期的英文

for day in Monday Tuesday Wednesday Thursday Friday Saturday Sunday

do

echo "$day"

done

變數的類型

#!/bin/bash

list="Linux Java C++ Python"

for

i in $list

do

echo -e "Language is ${i}"

done

cat

在in後面的應用-->逐行讀取文件的內容(默認是IFS),所以不是逐行列印。

#!/bin/bashfor

in $(cat 日誌顏色.sh)

#注意:pwd當前目錄下的文件

do

echo $i

done

第三類:路徑查找

ls在in後面的命令是-->讀取當前pwd下的文件(廣義上)。

#!/bin/bash

for i in `ls`;

#ls可以結合統配符應用

do

echo $i is file name! ;

#注意:的應用

done

用通配符讀取目錄(無命令)

for

file in ~/*;

#一級目錄下的內容-->並不遞歸顯示

do

echo $file is file path ! ;

#${file}代表的是文件的全路徑

done

通過腳本傳參

#!/bin/bash

#回憶1:統計腳本參數的個數echo "argument number are $#"!

#回憶2:參數的內容-->此處可以換成$@來測試!

echo

"the input is $*"

#循環執行

for argument in "$*";

do

echo

"$argument "

done

熱點內容
ftpdos命令上傳 發布:2025-01-31 08:14:44 瀏覽:105
intenumjava 發布:2025-01-31 08:14:37 瀏覽:802
android3x 發布:2025-01-31 08:13:03 瀏覽:600
如何購買安卓版live2d 發布:2025-01-31 08:13:01 瀏覽:279
python交互輸入 發布:2025-01-31 08:12:53 瀏覽:427
requestdatapython 發布:2025-01-31 08:02:01 瀏覽:44
javades加密工具 發布:2025-01-31 07:54:04 瀏覽:244
電話如何配置ip 發布:2025-01-31 07:48:48 瀏覽:300
2021賓士e300l哪個配置性價比高 發布:2025-01-31 07:47:14 瀏覽:656
sqlserver2008光碟 發布:2025-01-31 07:32:13 瀏覽:578