ディレクトリ(/path/to/local
)にファイル名のリストがあります。私はそれらのファイル名のすべてから特定の数の文字を削除したいと思います。ディレクトリの複数のファイル名の末尾に 'x'文字分を削除するBashスクリプト?
例ファイル名:私は、ファイル拡張子の前の最後の5つの文字を削除したいすべてのファイル名で
iso1111_plane001_00321.moc1
iso1111_plane002_00321.moc1
iso2222_plane001_00123.moc1
。例えば
:
iso1111_plane001_.moc1
iso1111_plane002_.moc1
iso2222_plane001_.moc1
私は、これはsed
を使用して行うことができると信じて、私は、正確なコーディングを決定することはできません。何かのように...
for filename in /path/to/local/*.moc1; do
mv $filname $(echo $filename | sed -e 's/.....^//');
done
...しかしそれは動作しません。申し訳ありませんが、私がsed
オプションを盗んだ場合、私は多くの経験がありません。
'^'は行頭にあり、定義の前には何もできません。 – Kevin