ファイル名を含むフォルダ名(csh)に変更します。

ファイル名を含むフォルダ名(csh)に変更します。

私はこれと同じ問題がありますポスターしかし、私は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"

おすすめ記事