私はこれと同じ問題がありますポスターしかし、私はcshを使用しています。
私が望むファイル名を取得できます
set x = V_181_V_d_2_um_phi_4.50_eV_tOn_0.5_ns/SteadyState_out.e
cat "`echo $x | cut -d "/" -f1`.e"
cat: V_181_V_d_2_um_phi_4.50_eV_tOn_0.5_ns.e: No such file or directory
しかし、私はその文字列では何もできません。どんな提案がありますか?
ベストアンサー1
私の最初のアドバイスは、シェルを別のものに変更することです。つまり、必要に応じて機能する必要があります。
set file = "V_181_V_d_2_um_phi_4.50_eV_tOn_0.5_ns/SteadyState_out.e"
set newname = "`echo $file | cut -d "/" -f1`.e"
mv "$file" "$newname"
これにより、ファイルは元のディレクトリに保存されません。実際に達成したいことを説明していないので、これが望むものかどうかはわかりませんが、ファイルを元のディレクトリに保存するには、次のようにします。
set dirname = "V_181_V_d_2_um_phi_4.50_eV_tOn_0.5_ns"
set file = "SteadyState_out.e"
set newname = "`echo $dirname | cut -d "/" -f1`.e"
mv "$dirname"/"$file" "$dirname"/"$newname"