よろしくおねがいします。
fileフォルダに
1.txt
2.txt
3.txt
というファイルがあり、ここから1.txtを別フォルダに移動します。
(ここまでは問題ありません)
その後fileフォルダには
2.txt
3.txt
というファイルが残るのですが、このファイル名を自動的に
1.txt
2.txt
と連番でリネームしたく
#!/bin/sh
declare -i i=1
for file in *.txt
do
mv $file $i.txt
i=i+1
done
をhoge.shとして準備しました。
Mac OS X(Darwin)では思い通りに実行されるのですが、Webサーバ(FreeBSD 6.1-RELEASE-p21)にアップし
%sh hoge.sh
とすると
declare: not found
となり、ファイルの方も
.txt
i+1.txt
の2ファイルになってしまいます。
あまり知識も無く勉強しながらなのですが、きちんと連番で書き換えられるようにするにはどうすればよろしいでしょうか?
根本的に間違ってる事などあるかと思いますがよろしくおねがいします。
No.2ベストアンサー
- 回答日時:
それは/bin/shの機能を超えた Darwinのシェルの拡張機能を使っているからでしょう。
また、ファイルが10個以上あると
for file in *.txt
では
1.txt 10.txt 11.txt 2.txt 3.txt・・・
という順序で処理されてしまいます。
とりあえず
man sh
を全部読破すれば理解できると思いますよ。
この回答への補足
追記
やはり自分の知識ではまだまだ追いつかなかったので、個別に mvという方法にしました。
ファイル数もあまり無いですし、順序の問題もクリアされて無事検証も出来ました。
とりあえず動かす分には完璧なので、今後勉強していきながら、もっと良い書き方を覚えていこうと思います。
本日で閉め切らせていただきます。
ありがとうございました。
なるほど。Darwinでの動作が特別だったのですね。
処理順についても大変参考になりました。
シェルスクリプトを利用して今まで面倒だった事が色々出来そうなのですが、なかなか大変です。
man shも参照しましたが英語に疎いので、、、
今日は朝からトライしていたので、明日本屋に直行しようと思います。
ありがとうございました。
(締め切りはもう少し先にさせてください)
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/03 13:18
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- その他(コンピューター・テクノロジー) <a href="file:///フォルダ名/ファイル名">リンクテキスト</a>について 1 2023/04/06 22:40
- その他(プログラミング・Web制作) Fortranでの出力ファイル 2 2023/03/21 21:25
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- その他(プログラミング・Web制作) ファイル名の一部をbatで変更したい batファイルを使って、以下のようにファイル名の一部を変更した 3 2023/02/21 20:09
- iOS ファイルの名前変更 2 2022/08/11 20:47
- その他(プログラミング・Web制作) セレクトボックスで選択された値をコントローラーで使用したい 2 2022/07/26 16:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトで標準エラ...
-
echo "abc" >> test.txt で、先...
-
echoの出力の最後のスペースを...
-
ファイル名ソートにハイフン
-
バッチファイルで改行の出力
-
xcopyで特定のファイルのみをコ...
-
リダイレクト >> を複数のファ...
-
ファイルを行ごとに比較するシ...
-
バッチファイルのfor文を使って...
-
Linux(raspberry pi)でのcpコマ...
-
複数のテキストファイルをひと...
-
bashで、gotoのようなラベルに...
-
アスタリスクを文字列として変...
-
バッチファイル 指定行の切り出し
-
ファイル名の一部を変更するバ...
-
テキストエディット等で書いた...
-
sedの置換文字に変数を使用した...
-
コマンドプロンプトで相対パス...
-
エクセルのセルに設定したハイ...
-
バッチファイル 現在のフォルダ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
xcopyで特定のファイルのみをコ...
-
echoの出力の最後のスペースを...
-
コマンドにてテキストファイル...
-
echo "abc" >> test.txt で、先...
-
【VBA】テキストファイルから特...
-
コマンドプロンプトで標準エラ...
-
バッチファイルで改行の出力
-
NULLの置き換えについて
-
コマンド実行結果を環境変数に...
-
コマンドプロンプトで相対パス...
-
バッチファイル 指定行の切り出し
-
sedの置換文字に変数を使用した...
-
リダイレクト >> を複数のファ...
-
batファイルの結果をテキストに...
-
UNIX ファイル存在チェックの方法
-
bashで、gotoのようなラベルに...
-
バッチファイル 現在のフォルダ...
-
エクセルのセルに設定したハイ...
-
コマンドプロンプトでFTPでエラー
-
Linux(raspberry pi)でのcpコマ...
おすすめ情報