2016-10-25 4 views
0

シンプルなbashスクリプトを作成しました。しかし、私は配管だけを使用しなければならず、スクリプトは許可されていません。 「翻訳」を手伝ってもらえますか? これはスクリプトです:あなたはbashの4.0またはそれ以降持つと仮定単一のシェルパイプラインまたは複合コマンドですべてのファイルの名前を大文字に変更

#!/bin/bash 
for x in * 
do 
    if [ -f "$x" ] 
    then 
     mv $x $(echo $x | tr 'a'-'z' 'A'-'Z') 
    fi 
done 
+0

は、Perlの 'rename'コマンドを見てみましょう:' 'を/ Y/AZ/AZ' 名前の変更* ' – Cyrus

+0

スクリプトではありませんか?私は解決策に近いと思う。 (エコー{} | tr 'A-Z' 'a-z')\; " – ogarogar

+0

if ["$ x" -f] 'は[-f" $ x "]'ではない。そして、あなたは悪い引用のためにバグの束を持っています。あなたのコードをhttp://shellcheck.net/ –

答えて

0

find . -type f -maxdepth 1 \ 
    -exec bash -c 'for arg; do [[ $arg = "${arg^^}" ]] || mv "$arg" "${arg^^}"; done' _ {} + 
関連する問題