最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用shell腳本進(jìn)行批量處理文件后綴名

 更新時(shí)間:2023年12月03日 09:35:12   作者:李昊哲小課  
這篇文章主要給大家介紹了關(guān)于如何使用shell腳本進(jìn)行批量處理文件后綴名,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

shell腳本批量處理文件后綴名

flumes收集日常完成后會對收集的文件添加.COMPLETED后綴名。

我仍然使用原文件名,于是萌生了編寫 shell 腳本批量刪除文件后綴名的想法。

效果很好,但整個(gè)腳本功能太多單一,如果想按需修改文件后綴名呢?

于是編寫了 shell 腳本批量修改文件后綴名。

shell腳本批量刪除文件后綴名

批量刪除文件后綴名·.COMPLETED

#!/bin/bash

input_dir=$1

if [ -z "$input_dir" ]; then
    echo "Usage: ./rename.sh input_directory"
    exit 1
fi

cd "$input_dir" || exit

for file in *.csv.COMPLETED; do
    newname=$(echo $file | sed 's/\.COMPLETED//')
    mv "$file" "$newname"
done

執(zhí)行腳本

shell腳本批量修改文件后綴名

#!/bin/bash
# 檢查參數(shù)數(shù)量是否正確
if [ "$#" -ne 3 ]; then
    echo "Usage: $0 <path> <old_extension> <new_extension>"
    exit 1
fi

# 提取參數(shù)
path=$1
old_extension=$2
new_extension=$3

# 查找并修改文件后綴名
find "$path" -type f -name "*.$old_extension" -exec sh -c 'mv "$0" "${0%.$1}.$2"' {} $old_extension $new_extension \;

執(zhí)行腳本

shell腳本批量修改文件名(文件名中添加字符)

腳本1

[root@localhost ~]# cat 02.sh
#!/bin/bash
#written by mofansheng@2016-02-17
path=/goodboy
[ -d $path ] && cd $path
for file in `ls`
do
 mv $file `echo $file|sed 's/\(.*\)\.\(.*\)/\1_aaa.\2/g'`
done

解釋說明:

使用sed替換,正則表達(dá)式第1個(gè)()括號里面代表文件名即\1;中間. 使用\進(jìn)行脫意,代表分隔符;

第2個(gè)括號里面代表后綴html內(nèi)容即\2;

使用此方法需要在替換中添加.符號;

腳本2:

#!/bin/bash
#written by mofansheng@2016-02-17
path=/goodboy
[ -d $path ] && cd $path
for file in `ls`
do
 mv $file `echo $file|sed 's/\(.*\)\(\..*\)/\1_aaa\2/g'`
done

解釋說明:

同樣使用sed替換,正則表達(dá)式,與上面的區(qū)別在于第2個(gè)括號里面的內(nèi)容,代表.html 分隔符和后綴名為一體,替換內(nèi)容的話不需要再單獨(dú)加.點(diǎn);.分隔符同樣需要使用\進(jìn)行脫意;

shell腳本批量修改文件名(刪除文件名中字符)

方法一:for循環(huán)結(jié)合sed替換

[baby@localhost ~]$ for file in `ls *.jpg`;do mv $file `echo $file|sed 's/_finished//g'`;done;

方法二:ls結(jié)合awk,輸出交給bash執(zhí)行

[baby@localhost ~]$ ls *.jpg |awk -F "_finished" '{print "mv "$0" "$1$2""}'|bash

實(shí)際執(zhí)行的命令如下,以_finished作為分隔符,mv及變量 需要加雙引號

[baby@localhost ~]$ ls *.jpg |awk -F "_finished" '{print "mv "$0" "$1$2""}'
mv stu_102999_1_finished.jpg stu_102999_1.jpg
mv stu_102999_2_finished.jpg stu_102999_2.jpg
mv stu_102999_3_finished.jpg stu_102999_3.jpg
mv stu_102999_4_finished.jpg stu_102999_4.jpg
mv stu_102999_5_finished.jpg stu_102999_5.jpg

方法三:rename改名

[baby@localhost ~]$ rename "_finished" "" *.jpg

方法四:for循環(huán)加變量部分截取

[baby@localhost ~]$ for file in `ls *.jpg`;do mv $file `echo ${file%_finished*}.jpg`;done;

不使用echo也可以實(shí)現(xiàn)

[baby@localhost ~]$ for file in `ls *.jpg`;do mv $file ${file%_finished*}.jpg;done;

到此這篇關(guān)于利用shell腳本進(jìn)行批量處理文件后綴名的文章就介紹到這了,更多相關(guān)shell腳本處理文件后綴名內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Linux查看日志文件寫入速度的4種方法詳解

    Linux查看日志文件寫入速度的4種方法詳解

    有時(shí),我們需要查看某個(gè)文件的增長速度,如日志文件,以此來感受系統(tǒng)的負(fù)載情況,因?yàn)橐话闱闆r下,日志寫入越快,說明系統(tǒng)負(fù)載越重。本文總結(jié)了Linux中查看日志增長速度的幾種方法,需要的可以參考一下
    2022-06-06
  • Linux啟動jar包的shell腳本

    Linux啟動jar包的shell腳本

    這篇文章主要介紹了Linux啟動jar包的shell腳本,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-05-05
  • 使用shell腳本采集系統(tǒng)cpu、內(nèi)存、磁盤、網(wǎng)絡(luò)等信息

    使用shell腳本采集系統(tǒng)cpu、內(nèi)存、磁盤、網(wǎng)絡(luò)等信息

    這篇文章主要介紹了使用shell腳本采集系統(tǒng)cpu、內(nèi)存、磁盤、網(wǎng)絡(luò)等信息,需要的朋友可以參考下
    2014-05-05
  • Linux Shell+Curl網(wǎng)站健康狀態(tài)檢查腳本,抓出中國博客聯(lián)盟失聯(lián)站點(diǎn)

    Linux Shell+Curl網(wǎng)站健康狀態(tài)檢查腳本,抓出中國博客聯(lián)盟失聯(lián)站點(diǎn)

    這篇文章主要介紹了Shell+Curl網(wǎng)站健康狀態(tài)檢查腳本,抓出中國博客聯(lián)盟失聯(lián)站點(diǎn),需要的朋友可以參考下
    2016-02-02
  • SHELL字符串提取的兩種方法實(shí)現(xiàn)

    SHELL字符串提取的兩種方法實(shí)現(xiàn)

    本文主要介紹了SHELL字符串提取的兩種方法實(shí)現(xiàn),主要包括:從指定位置開始截取和從指定字符(子字符串)開始截取,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • Linux shell實(shí)現(xiàn)壓縮多個(gè)文件代碼實(shí)例

    Linux shell實(shí)現(xiàn)壓縮多個(gè)文件代碼實(shí)例

    這篇文章主要介紹了Linux shell實(shí)現(xiàn)壓縮多個(gè)文件代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Linux使用shell擴(kuò)展匹配文件名的方法詳解

    Linux使用shell擴(kuò)展匹配文件名的方法詳解

    本文介紹了Bash中的命令行擴(kuò)展,如大括號擴(kuò)展、波形符擴(kuò)展、路徑名擴(kuò)展、變量擴(kuò)展、命令替換等,通過示例,展示了如何使用這些擴(kuò)展功能創(chuàng)建目錄、文件,管理和組織文件,使用通配符進(jìn)行模式匹配,以及如何使用引號和轉(zhuǎn)義字符防止參數(shù)擴(kuò)展,需要的朋友可以參考下
    2026-04-04
  • shell腳本function傳參的具體使用

    shell腳本function傳參的具體使用

    本文主要介紹了shell腳本function傳參的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • Linux復(fù)制文件命令cp之使用解說

    Linux復(fù)制文件命令cp之使用解說

    Linux下的命令有很多,其中有一個(gè)命令,我一直使用都存在問題,那就是cp命令了。今天通過本文給大家介紹Linux復(fù)制文件命令cp之使用解說,感興趣的朋友一起學(xué)習(xí)吧
    2016-11-11
  • Linux查看發(fā)行版信息的常用命令

    Linux查看發(fā)行版信息的常用命令

    這篇文章主要介紹了六種常用命令,用于查看Linux系統(tǒng)的發(fā)行版信息,包括查看/etc/os-release、使用lsb_release命令、查看/etc/issue文件、發(fā)行版特定文件以及使用hostnamectl命令,此外,還提到了查看內(nèi)核版本的方法,需要的朋友可以參考下
    2026-03-03

最新評論

鸡东县| 揭西县| 河津市| 陇西县| 都安| 镇宁| 菏泽市| 天镇县| 页游| 安福县| 章丘市| 清流县| 苍南县| 渭南市| 海丰县| 乌苏市| 剑河县| 山阴县| 淅川县| 遵义市| 交城县| 青田县| 灵台县| 灵丘县| 多伦县| 铅山县| 安远县| 扶绥县| 双桥区| 茂名市| 平南县| 泾源县| 巴里| 黄骅市| 凤台县| 盘山县| 德令哈市| 德安县| 安国市| 洛隆县| 洪雅县|