濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > Shell腳本之文件批量創(chuàng)建與修改的簡(jiǎn)單方法

Shell腳本之文件批量創(chuàng)建與修改的簡(jiǎn)單方法

熱門標(biāo)簽:如何申請(qǐng)400的電話呀 沈陽(yáng)ai電銷智能機(jī)器人 黑暗之魂3地圖標(biāo)注 合肥電銷外呼系統(tǒng)供應(yīng)商 地圖標(biāo)注審核周期 電商外呼系統(tǒng)排名 AI智能電銷機(jī)器人壞處 蘭州電銷機(jī)器人加盟 電話機(jī)器人對(duì)家居行業(yè)幫助大嗎

一、腳本要求

1.所有操作在/python下

2.批量創(chuàng)建12個(gè)以py后綴結(jié)尾的文件,文件名中必須包含_hcip,文件名除了_hcip固定字符串外,文件名還包含8個(gè)小寫隨機(jī)的字符。

3.創(chuàng)建的12個(gè)文件后綴名改為大寫的PY,固定字符串改為_hcie

二、腳本內(nèi)容

#!/bin/bash
##########################################################
#File Name:create_file.sh
#Version:V1.0
#Aurhor:
#Emali:
#Created Time:2021-06-15 02:56:59
#Description: create files  modify files
##########################################################


if [ -d /python ];then
   cd /python
else
   mkdir /python
   cd /python
fi
for i in {1..12}
do
   file_name=$(echo $RANDOM |md5sum |cut -c 1-8)
   touch ${file_name}_hcip.py
done

for files in $(ls /python)
do
     file1=$(echo $files |cut -d '_' -f1)
     mv $files ${file1}_hcie.PY
done



三、腳本運(yùn)行結(jié)果

[root@control python]# /scripts/create_file.sh 
[root@control python]# ll
total 0
-rw-r--r-- 1 root root 0 Jun 15 04:26 4272db00_hcie.PY
-rw-r--r-- 1 root root 0 Jun 15 04:26 51989a58_hcie.PY
-rw-r--r-- 1 root root 0 Jun 15 04:26 75075364_hcie.PY
-rw-r--r-- 1 root root 0 Jun 15 04:26 7a272319_hcie.PY
-rw-r--r-- 1 root root 0 Jun 15 04:26 7d76af2f_hcie.PY
-rw-r--r-- 1 root root 0 Jun 15 04:26 977e73d6_hcie.PY
-rw-r--r-- 1 root root 0 Jun 15 04:26 9e4386a0_hcie.PY
-rw-r--r-- 1 root root 0 Jun 15 04:26 a35d5337_hcie.PY
-rw-r--r-- 1 root root 0 Jun 15 04:26 b9cb6458_hcie.PY
-rw-r--r-- 1 root root 0 Jun 15 04:26 b9d3349e_hcie.PY
-rw-r--r-- 1 root root 0 Jun 15 04:26 c3e589a2_hcie.PY
-rw-r--r-- 1 root root 0 Jun 15 04:26 e4f82be8_hcie.PY

附:將jpeg格式文件改成jpg格式為例

用腳本創(chuàng)建10個(gè)文件,以jpeg作為后綴,代碼如下:

#!/bin/sh
for ((i=0;i=10;i++))
do
    touch ${i}.jpeg
done

執(zhí)行完上面的腳本后會(huì)看見在當(dāng)前目錄下生成10個(gè)文件,文件名的構(gòu)成為name.suffix

為了批量更改當(dāng)前目錄下的文件,我們需要遍歷當(dāng)前目錄,獲得需要更改文件的name,然后與新的文件后綴進(jìn)行拼接,形成新的文件名name.newsuffix。

代碼如下:

#!/bin/sh
oldsuffix="jpeg"
newsuffix="jpg"
dir=$(eval pwd)

for file in $(ls $dir | grep .${oldsuffix})
    do
        name=$(ls ${file} | cut -d. -f1)
        mv $file ${name}.${newsuffix}
    done
echo "change jpeg to jpg successd!"

  1. oldsuffix是文件舊的后綴,newsuffix是文件新的后綴
  2. $(cmd)是命令替換,會(huì)在語(yǔ)句運(yùn)行時(shí)執(zhí)行cmd命令,然后返回cmd命令的執(zhí)行結(jié)果;eval 的作用是再次執(zhí)行命令行處理(不是對(duì)一個(gè)命令執(zhí)行兩次),也就是將eval后跟的參數(shù)整合成正確的命令行命令執(zhí)行。$(eval pwd)執(zhí)行后返回的結(jié)果是腳本所在的目錄路徑。
  3. 在循環(huán)語(yǔ)句中我們使用cut命令將匹配的文件name剪切出來(lái)。cut命令從文件的每一行剪切字節(jié)、字符和字段并將其送至標(biāo)準(zhǔn)輸出。參數(shù)-d用于自定義分隔符,默認(rèn)為制表符,程序中的-d.表示以.作為分隔符;參數(shù)-f指定截取顯示哪個(gè)區(qū)域,-f1表示截取第一個(gè)區(qū)域,也就是文件名的name。

總結(jié)

到此這篇關(guān)于Shell腳本之文件批量創(chuàng)建與修改的文章就介紹到這了,更多相關(guān)Shell腳本文件批量創(chuàng)建修改內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • shell腳本實(shí)現(xiàn)統(tǒng)計(jì)文件大小、批量創(chuàng)建用戶的示例
  • Linux shell利用sed如何批量更改文件名詳解
  • Shell腳本實(shí)現(xiàn)批量替換文件內(nèi)容
  • 詳解linux下批量替換文件內(nèi)容的三種方法(perl,sed,shell)
  • Shell腳本批量修改文件后綴名代碼分享
  • Shell腳本批量重命名文件后綴的3種實(shí)現(xiàn)
  • shell腳本中使用iconv實(shí)現(xiàn)批量文件轉(zhuǎn)碼的代碼分享
  • Shell腳本遍歷目錄并批量修改文件編碼
  • shell批量創(chuàng)建文件并重新命名的實(shí)例代碼

標(biāo)簽:通遼 黔南 黔南 隴南 河北 常州 河池 淮南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Shell腳本之文件批量創(chuàng)建與修改的簡(jiǎn)單方法》,本文關(guān)鍵詞  Shell,腳本,之,文件,批量,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Shell腳本之文件批量創(chuàng)建與修改的簡(jiǎn)單方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Shell腳本之文件批量創(chuàng)建與修改的簡(jiǎn)單方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    甘肃省| 泗阳县| 抚顺县| 湘潭市| 微山县| 浦江县| 陇西县| 东兰县| 石台县| 故城县| 甘谷县| 五指山市| 磴口县| 安顺市| 虹口区| 佛坪县| 清河县| 双鸭山市| 新蔡县| 玉溪市| 台南市| 呼伦贝尔市| 南郑县| 双辽市| 塔河县| 邓州市| 西峡县| 秦安县| 威远县| 蓬安县| 汶川县| 会同县| 海盐县| 酉阳| 仙居县| 彭阳县| 全南县| 灵川县| 九龙坡区| 于田县| 甘南县|