web-dev-qa-db-ja.com

cutでファイル名の束から最初のn文字を削除します

使っています

ls | cut -c 5-

これは、ファイル名のリストを必要な形式で返しますが、実際にはアクションを実行しません。お知らせ下さい。

25
Ridalgo
rename -n 's/.{5}(.*)/$1/' *

-nはシミュレーション用です。それを削除して実際の結果を取得します。

41
Aman

名前を変更するフォルダーにいるときに、次のコマンドを使用できます。

rename -n -v  's/^(.{5})//' *

-nはアクションなし、-v変更内容を表示します。結果に満足したら、両方を削除できます

rename 's/^(.{5})//' *
19
armtatoo

このような何かが動作するはずです:

for x in *; do
    echo mv $x `echo $x | cut -c 5-`
done

これは破壊的である可能性があるため、最初にこの方法で実行してから、目的の処理が確実に完了したら、先頭のechoを削除してください。

2
legoscia

次のようなエラーメッセージが表示された場合、

名前変更はコマンドレットの名前として認識されません

これはあなたのために働くかもしれません、

get-childitem * | rename-item -newname { [string]($_.name).substring(5) }
1
Saumil