當前位置:首頁 » 編程軟體 » shell腳本刪除文件

shell腳本刪除文件

發布時間: 2023-05-31 15:39:20

① shell中怎麼刪除文件中指定行的

1、刪除包含指定關鍵字的行:

sed -i '/hello/d' test_temp

[root@host]$ cat test_temp

world

123

4566

889

2、刪除賀態歷指定行號的行

sed -i '閉襪2d' test_temp

[root@host]$ cat test_temp

world

4566

889

3、sed -i '1d' a.txt刪首行

4、sed -i '$d' b.txt刪尾行

5、sed -i 's/[ ]*//g' c.txt刪空格

6、sed -i '/^$/d' d.txt刪空行

7、sed -i 『/love/d』 a.txt刪包含string的行。

(1)shell腳本刪除文件擴展閱讀:

shell 命令

常用命令:

cat 文件名 輸出文件內容到基本輸出(屏幕 or 加>fileName 到另一個文件)

cb 格式化源代碼

chmod //change mode,改變文件的許可權

cp

date 當前的時間和日期

echo $abc 在變數賦值之後,只需在變數前面加一個$去引用.

lint語禪搜法檢查程序

ls dir

man help

more type

查看磁碟空間狀況

ps 查看當前進程狀況

who 你的用戶名和終端類型

定義變數 name=abc? (bash/pdksh) || set name = abc (tcsh)

mkdir 創建目錄

rmdir 刪除目錄

cd 進入目錄

rm 刪除文件

more 顯示文件

echo 顯示指定文本

mv 改文件名 /移動文件

pwd 顯示目錄路徑命令

② shell腳本 怎麼刪除文件夾中的文件

vim rm.sh
#!/bin/bash
find . -type f -exec rm {} \;
會將當前文件夾中的文件全部刪除。請謹慎操作!

③ 用for循環編寫刪除文件的shell腳本

#!/bin/bash
#2.sh
cd
#進入加目錄
touch
1
#創建文件1
read
-p
"請輸入要刪除的文件
1
:"
file
if
[
"$file"
!=
"1"
];then
echo
"請輸入1
不許輸入別的。謝謝!"
fi
for
i
in
$file
;do
#用for循環把$file代入$i
rm
-rf
$i
#刪除$i
echo
"$i
被刪除了。"
done
#結束

④ shell腳本刪除30天之前日誌

1、新建sh文件

刪除30天以前的文件

#!/bin/bash

find /home/s/server/node1/logs/ -mtime +30 -print | xargs rm -rf

 //注釋讓消源-mtime是距離上一次修改時間 -print是只顯示文件 xargs是獲取find查找的結果在通過rm命令刪除

2、部署伺服器

3、設置crontab定時任務

打開定時任務配置文件:crontab -e

定時調用test.sh:* * * * * /home/test.sh

        保存退出:按鍵ESC,輸入:wq

第一個*        一小時當中的第幾分鍾      0-59

第二個*        一天當中的第幾小時          0-23

第三個*        一個月當中的第幾天          1-31

第四個*        一年當中的第幾月              1-12

第五個*        一周當中的星期幾              0-7(0和7都代表周日)

*        代表任何時間,比如第一個 * 就代表一小時中的每分鍾都執行

,        代表不連續的時間,比如 0 8,12,16 * * * 代表每天8,12,16點0分執行

-        代坦態表連續的時間范圍,比如0 5 * * 1-6 代表在周一到周六凌晨5點0分執行

*/n     代表每個多久執行一次,比如*/10 * * * *代表每隔10分鍾執行一次

例子:

45 22 * * *    

在22點45分執行

0 17 * * 1     

在每周1的17點0分執行

0 5 1,15 * *  

在每月1號和15號的凌晨5點0分執行

40 4 * * 1-5  

在每周一到周五的凌晨4點40分執行

*/10 4 * * *    

在每天的凌晨4點,每隔10分鍾執行一次

0 0 1,15 * 1  

每月1號和15號,每周1的0點0分都會執行

注意:星期幾和幾號最好不要同時出現,他們的意義都是天,容易混淆

4、查看目前都有那些定時任務

        crontab -l

5、備註:

定時任務需要crond服務的支持

1.啟動方法  service crond restart

2.該服務默認是開機啟動的

取消定時任務

1.全部取消 crontab -r

2.取消某個 crontab -e 配置文件,刪除要取消的哪一行配置

若定時任務存在,編輯shell腳本後,不用做任何操作,不放心的話可以啟動腳本看下是否報錯 sh 腳本名橋空字

⑤ 編寫一個shell腳本,刪除當前目錄下空文件

#!/bin/bash
#當前路徑
MYDIR=`dirname"$0"`
#切換到當前路徑
cd"$MYDIR"
#刪除當前文件夾下所有空文件夾
find"$MYDIR"-typed-execrmdir-p{};

#對於文件夾大小大於0的文件夾無效。
#$MYDIR加雙引號可以刪除帶空格的文件夾。

試試看這個代碼。

⑥ shell腳本隔五分鍾清理一次log文件

步驟一:編寫自動清理日誌文件搭慎shell腳本
# vim logAutoClean.sh

#!/bin/bash
log_path="/home/server/core/logs/app"

#目錄存在,刪除修改時間為7天前的文件
if [ -d "${log_path}" ]; then
echo start delete log 7 days ago...
find "${log_path}"/* -name '*.log.gz' -mtime +240 -exec rm -rf {} \;
echo end delete log ...
fi
# :wq! 保存並退出

步驟二:腳本文件授權(可執行許可權)
# chmod +x logAutoClean.sh
測試一下:

# sh logAutoClean.sh
步驟三:創建crontab定時任務
# crontab –e
進入編輯頁面(第一次進入會讓你選擇編輯器,這里我們選擇3[vim.basic]就ok)。

設置每天凌晨1點執行(假定清除腳本在目錄/home/server/core/logs/app下),編輯crontab,增加如下行:
00 01 * * * /home/server/core/logs/app/logAutoClean.sh
可先設置五分鍾執行一次,測試下腳本
*/5 * * * * /home/server/core/logs/app/logAutoClean.sh
如果定時任務不生效,重啟下crond服務
# service crond restart //重啟服務
附錄:crontab用法說明
crontab命令用於安裝、刪除或者列出用於驅動cron後台進程的表格。用戶把需要執行的命令序列放到crontab文件中以獲得執行。
每個用戶都可以有自己的crontab文件。/var/spool/cron下的crontab文件不可以知洞敬直接創建或者直接修改。該crontab文件是通過crontab命令創建的
在crontab文件中如何輸入需要執行的命令和時間。該文件中每行都包括六個域,其中前五個域是指定命令被執行的時間,最後一個域是要被執行的命令。
每個域之間使用空格或者製表符分隔。格式如下:

格 式: minute hour day-of-month month-of-year day-of-week commands
合法值: 00-59 00-23 01-31 01-12 0-6 (0 is sunday)
除了數字顫橋還有幾個個特殊的符號就是"*"、"/"和"-"、",",*代表所有的取值范圍內的數字,"/"代表每的意思,"/5"表示每5個單位,"-"代表從某個數字到某個數字,","分開幾個離散的數字。

crontab 命令

-l 在標准輸出上顯示當前的crontab。
-r 刪除當前的crontab文件。
-e 使用VISUAL或者EDITOR環境變數所指的編輯器編輯當前的crontab文件。當結束編輯離開時,編輯後的文件將自動安裝。

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

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

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

forfolderin$(ls-d*/)。

do。

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

done。

(7)shell腳本刪除文件擴展閱讀:

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

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

#!/bin/bashecho"HelloWorld!"

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

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

⑧ 用shell腳本寫刪除文件的命令

在哪個目錄下即可在在該目錄下執行
find -name "rpm -ql*"| xargs -I {} rm -rf {}

當然也可以加上目錄
find /目錄 -name "rpm -ql*"| xargs -I {} rm -rf {}

⑨ shell腳本怎麼在文件夾內刪除最老的那個文件

1、如果很規律,比如說每天一個,或者每個月一個,你可以按時間刪除,比如每天刪除30天的
例如:
#!/bin/sh
find . -type f -mtime +30 -exec rm -rf {} \;
2、如果每天很多,只刪除最老的一個,你可以按時間排序
ls -rt|head -1就是最老的那個
例如:
#!/bin/sh
ls -rt|head -1|xargs rm -rf

熱點內容
c語言矩陣的轉置 發布:2025-02-13 02:38:43 瀏覽:624
rowphp 發布:2025-02-13 02:37:16 瀏覽:711
光遇安卓服周年傘在哪裡領取 發布:2025-02-13 02:22:18 瀏覽:674
寫mv腳本軟體 發布:2025-02-13 02:21:56 瀏覽:696
超內核源碼 發布:2025-02-13 02:12:54 瀏覽:444
趣粉腳本 發布:2025-02-13 02:11:23 瀏覽:952
壓縮的茶葉怎麼弄開 發布:2025-02-13 02:11:16 瀏覽:739
n1ftp伺服器 發布:2025-02-13 02:10:39 瀏覽:348
沒有卡沒有密碼怎麼辦啊 發布:2025-02-13 01:51:53 瀏覽:461
linux2個ftp伺服器 發布:2025-02-13 01:44:31 瀏覽:15