0

すべてのファイルとディレクトリ名の先頭に「_」を追加するスクリプト(bash)はありますか?

ご協力いただきありがとうございます。

4

3 に答える 3

1

どうですか:

for f in *
do
  mv "$f" _"$f"
done
于 2012-09-18T09:48:44.867 に答える
0

ディレクトリが再帰的である場合は、もっと複雑なものが必要です。

#!/bin/bash
#Requires BASH and a find with -print0

#The source    
SRC=/tmp/writ

unset a i
#Read in the file names
while IFS= read -r -d '' file; do
  # Get the file name, rip off the directory name
  fname=$(basename "$file")

  # Get the directory name, without the file name
  dname=$(dirname "$file")

  #I used 'cp' instead of 'mv' for testing reasons
  # Note how I put the underscore in.
  cp "$file" "${dname}/_${fname}"

  # This just finds files.  You can repeat the loop with
  # type -d for directories.
done < <(find $SRC -type f -print0)
于 2012-09-18T12:27:19.517 に答える
0
ls -1 | while read i; do mv "$i" "_$i"; done
于 2012-09-18T09:49:12.797 に答える