次のファイルから拡張子とプレフィックスを削除したいと思います。
awstats.www.test1.com.conf
awstats.www.test2.com.conf
awstats.www.test3.com.conf
awstats.
とを削除し.conf
、ファイルはwww.test1.com
そのままにしてください。どうすればいいですか?
ベストアンサー1
ファイルと同じディレクトリにあるとします。
for name in awstats.*.conf; do
basename "${name#awstats.}" .conf
done
ループ内のコードは最初にプレフィックスを削除し、次にawstats.
標準引数置換を使用してサフィックスを削除します。$name
basename
.conf
以下を呼び出さずに2つの手順で実行することもできますbasename
。
for name in awstats.*.conf; do
newname=${name#awstats.} # trim off prefix
newname=${newname%.conf} # trim off suffix
printf '%s\n' "newname"
done
これら2つのループはファイル名を変更しません。