![ファイル名から部分文字列を削除する[閉じる]](https://linux33.com/image/95825/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%90%8D%E3%81%8B%E3%82%89%E9%83%A8%E5%88%86%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E5%89%8A%E9%99%A4%E3%81%99%E3%82%8B%5B%E9%96%89%E3%81%98%E3%82%8B%5D.png)
私のファイル名のサフィックスは異なります.csv.new
。茎を抜かなければなりません。はいfile1_test.csv.new
。file1_test
変数を作成するにはトランクを削除する必要がありますfile1_test.err
。
答え1
basename
お客様の要件を満たす軽量ツールです。
$ basename file1_test.csv.new .csv.new
file1_test
だから
var=$(basename file1_test.csv.new).err
必要な内容がvar
含まれています。file1_test.err
答え2
これを実行してください。 bashにワイルドカードの一致を逆さにするようにします%
。
for F in *.csv.new; do
touch ${F%.csv.new}.err
done
ファイルがあれば
file1_test.csv.new
file2_test.csv.new
あなたは得るでしょう
file1_test.err
file2_test.err