Bashに_
。
私はそれを含むすべてのファイルでプレフィックスを使用するか、rename
単にmv
削除できると確信しています。_
私は試みる:
for file; do
mv "$file" "${file//_/}"
done
しかし、これは私が望む効果を得ることができませんでした。_
すべてのファイルからプレフィックスを削除するには、どのコマンドを使用できますか?
ベストアンサー1
1)for file; do
スクリプトのコマンドラインパラメータであるループ位置パラメータです。for file in *; do
ディレクトリ内のファイルを繰り返すために使用されます(またはアンダー_*
スコアが前に付いたファイルのみを取得します)。
2)ファイル名の先頭の下線を削除する${file#_}
代わりに使用できます。特に最初からセクションを削除しました。これは標準機能であり、もちろん削除されます。${file//_/}
${par#word}
${par/pat/repl}
${file//_}
みんな最初のスラッシュだけでなく、スラッシュ(二重スラッシュを使用したため)。
3)少なくともLinux(GNU Userland)とFreeBSDでは、mv -n
これを使用してファイルを上書きしないように要求できます。もしかして。
だから、
for file in _*; do
mv -n -- "$file" "${file#_}"
done