Files
將文件名替換為包含文件夾名稱 (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
但我不知道如何用那個字元串做任何事情。有什麼建議嗎?
我的第一條建議是將你的外殼換成別的東西。也就是說,這應該做你想要的:
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"