他の場所に答えがある場合は申し訳ありませんが、問題を検索する方法がわかりません。
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_number10日の実行があるので、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を使用して入力できます)。