Linux利用sed批量修改檔名

2022-08-12 19:54:22 字數 1955 閱讀 8577

初始檔名

# ls -lh 

total 5.5g

-rw-r--r-- 1 root root 193k sep 28 09:38 20180908.txt

drwxr-xr-x 2 root root 4.0k mar 7 16:37 batch

-rw-r--r-- 1 root root 160m mar 13 16:35 batch_dispatcher.log.1

-rw-r--r-- 1 root root 17m jan 8 12:00 batch_gen_scheduler.log.1

-rw-r--r-- 1 root root 3.5g mar 13 16:36 batch_scheduler.log.1

-rw-r--r-- 1 root root 329m jan 25 10:11 batch_scheduler_test.log.1

drwxr-xr-x 2 root root 4.0k jan 21 13:54 batch_test

-rw-r--r-- 1 root root 30m jan 25 10:10 batch_test_dispatcher.log.1

-rw-r--r-- 1 root root 137m mar 13 16:29 boss_bi_access.log.1

-rw-r--r-- 1 root root 86m mar 13 16:29 boss_bi_error.log.1

-rw-r--r-- 1 root root 185m mar 13 14:32 boss_channel_access.log.1

-rw-r--r-- 1 root root 96m mar 13 14:32 boss_channel_error.log.1

-rw-r--r-- 1 root root 77k jan 21 14:45 monitor_once.log.1

-rw-r--r-- 1 root root 638m mar 13 16:35 monitor_scheduler.log.1

-rw-r--r-- 1 root root 26m dec 10 22:00 yqb_job.log.1

drwxr-xr-x 2 root root 4.0k may 29 2018 zhongcai

-rw-r--r-- 1 root root 348m mar 13 16:35 zhongcai_scheduler.log.1

-rw-r--r-- 1 root root 688k jan 28 10:51 zhongcai_test_access.log.1

-rw-r--r-- 1 root root 538k jan 29 11:23 zhongcai_test_error.log.1

drwxr-xr-x 2 root root 4.0k aug 21 2018 zhongcai_v1.4

需要將.log.1結尾的檔案更改為.log

命令如下:

# for file in $(ls -lh | awk '$nf~/log/');do newfile=$(echo $file | sed 's/\.1//g'); mv $file $newfile; done

# 美化一下

for file in $(ls -lh | awk '$nf~/log/'); do

newfile=$(echo $file | sed 's/\.1//g')

mv $file $newfile

done

法二:

#  ls *.1 | sed -r "s#(.*).1#mv & \1#" | bash
注:

sed替換標記:

\1表示前面第乙個左括號所表示的內容,\2表示前面第二個左括號中表示的內容,以此類推

&表示前面匹配到的內容

**於:

使用sed批量修改檔案

下午的時候遇到乙個煩事,需要將一些html中的由png改為gif。大約有20來個,如果乙個乙個改的話,真是有些煩人。該自動化的都應該讓他自動化。在思考如何指令碼化這個問題的時候,我想到這個需求有乙個關鍵點是 需要修改原檔案,而不是在管道中傳遞。請教google大神之後,再man sed一下,答案出來...

Linux指令碼中利用sed修改檔案內容的多種技巧

linux指令碼中利用sed修改檔案內容 常用命令功能 a插入,在當前行後新增一行或多行。多行時需要在每行末尾需用 續行 最後不需要 c替換,用此符號後的新文字替換當前行中的文字。多行時需要在每行末尾需用 續行 最後不需要 d刪除,刪除行 i插入,在當前行之前插入文字。多行時需要在每行末尾需用 續行...

利用python批量修改xml檔案

問題描述 對大量xml標籤進行修改floder的名字,以及path路徑。例如把1修改為train,把路徑修改為當前xml所在位置。xml格式如下 如下 usr bin python coding utf 8 import os import os.path from xml.etree.elemen...