シェルスクリプトでバッチファイルを簡単に作成・変更する方法
2022-01-05 01:13:50
I. スクリプトの要件
1. python以下の全ての操作
2. 接尾辞がpyで終わるファイルを12個一括作成し、ファイル名に_hcipが含まれること、ファイル名に_hcipの固定文字列に加え、小文字のランダム文字8文字が含まれること。
3. 作成された12ファイルの接尾辞PYを大文字に変更し、固定文字列を_hcieに変更したもの
II. スクリプトの内容
#! /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
三、スクリプトの実行結果
[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に変更する例
スクリプトで10個のファイルを作成し、サフィックスにjpegを使用します。
#! /bin/sh
for ((i=0;i<=10;i++))
do
touch ${i}.jpeg
done
上記のスクリプトを実行すると、カレントディレクトリにname.suffixの構成で10個のファイルが生成されることが確認できます。
カレントディレクトリ内のファイルを一括して変更するには、カレントディレクトリを繰り返し表示して、変更が必要なファイル名を取得し、それを新しいファイル名のサフィックスにスプライスして新しいファイル名 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!"
- oldsuffix はファイルの古いサフィックス、newsuffix はファイルの新しいサフィックスです。
- $(cmd) はコマンド代行で、文の実行時に cmd コマンドを実行し、cmd コマンドの実行結果を返します。eval はコマンドライン処理を再度行う(コマンドに対して2回行わない)役割があり、eval に続く引数は正しいコマンドラインのコマンド実行に統合されることを意味します。eval pwdの結果は、スクリプトが置かれているディレクトリのパスです。
- ループ文の中で、cutコマンドを使って、一致するファイル名を切り出しています。cutは、ファイルの各行からバイト、文字、フィールドを切り出して、標準出力に送っています。dパラメータは区切り文字をカスタマイズするためのもので、デフォルトはタブで、プログラム中の-d.は.を意味します。f パラメーターは、どの領域をカットするかを指定します。-f1 は、最初の領域、ファイル名をカットすることを意味します。
概要
この記事は、シェルスクリプトファイルのバッチ作成と変更について紹介されています、より関連するシェルスクリプトファイルのバッチ作成と変更内容は、スクリプトハウスの過去の記事を検索してくださいまたは以下の関連記事を閲覧し続けることは、今後、スクリプトハウスをよりサポートすることを願って!.
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン