環境
- Mac Catalina
- bash
やろうとしてること
/sample/
ディレクトリ内にあるテキストファイルの中身をcat
からdog
に書き換えてファイルを新規作成する。
/sample
# copy.sh 実行前
sample
|- copy.sh
|- aaa.txt
|- bbb.txt
# copy.sh 実行後
|- copy.sh
|- aaa.txt
|- aaa_new.txt
|- bbb.txt
|- bbb_bew.txt
script
copy.sh
#!/bin/bashDIR=/sample/
# sample.shのディレクトリに移動するcd$(dirname${0})# txtファイルの名前を取得してループfor pathfile in$DIR/*.txt;do# 拡張子を取り除いた名称を取得(Ex. aaa.txt -> aaa)NAME=$(basename$pathfile | sed-e's/\.txt$//g')# catからdogに置換して、ファイル末尾に_newを付けてを新規保存するsed-e"s/cat/dog/g" pathfile >"${NAME}_new.txt"done