他の場所に答えがある場合は申し訳ありませんが、問題を検索する方法がわかりません。
Redhat Linux HPCサーバーでいくつかのシミュレーションを実行していましたが、フォルダー構造を処理して出力を保存するためのコードには不幸なバグがありました。フォルダーを作成するための私のmatlabコードは次のとおりです。
folder = [sp.saveLocation, 'run_', sp.run_number, '/'];
どこsp.run_number
が整数でした。文字列に変換するのを忘れていましたが、何らかの理由でmkdir(folder);
(matlabで)実行は成功しました。実際、シミュレーションは問題なく実行され、データは一致するディレクトリに保存されました。
今、フォルダ構造がクエリ/印刷されると、次の状況が発生します:
- タブのオートコンプリートを試みると:
run_ run_^A/ run_^B/ run_^C/ run_^D/ run_^E/ run_^F/ run_^G/ run_^H/ run_^I/
- 私が使うとき
ls
:run_ run_? run_? run_? run_? run_? run_? run_? run_? run_? run_?
。 - 私はrsyncを使ってどこでもMy Macに転送する場合
--progress
:オプションショーrun_\#003/
で整数を一致数(私は仮定)となどをsp.run_number
10日の実行があるので、3桁にパッド入りrun_\#010/
- ファインダーでフォルダーを表示すると、
run_ run_ run_ run_ run_ run_ run_ run_ run_ run_?
- この質問を見て、
ls | LC_ALL=C sed -n l
私が得るコマンドを使用します:
run_$
run_\001$
run_\002$
run_\003$
run_\004$
run_\005$
run_\006$
run_\a$
run_\b$
run_\t$
run_$
cd
これらの表現のいずれかを使用してフォルダーに管理することはできません。
これらのフォルダーは何千もあるので、スクリプトでこれを修正する必要があります。これらのオプションのどれがフォルダの正しい表現ですか?これらのフォルダーをプログラムで参照して、bashスクリプトを使用して適切にフォーマットされた名前に名前を変更するにはどうすればよいですか?好奇心のために、そもそもこれは一体どうやって起こったのでしょうか?
run_
し、私が何かを入力する必要があります
/
です。制御文字を含む他の文字はすべて有効です。sp.run_numberが0の場合、matlabが何をしたのかわかりません(おそらくrun_
、NULバイトがディレクトリ名文字列を終了させるため、エラーで中止するか、生成します)。もちろん、これは、NULバイトが含まれる16ビット(またはそれ以上)の値に対しても問題があり、matlabを実行しているシステムのエンディアンによっても異なります。
^A
文字どおりに^
続きA
ますが、Ctrl-A(Ctrl-Aは一般にシェルのショートカットであるため、Ctrl-V Ctrl-Aを使用して入力できます)。