看板Linux
标 题Re: [问题] bash script 无法做 cp
发信站交大资讯次世代BS2 (Fri May 16 11:43:29 2008)
转信站ptt!ctu-reader!ctu-gate!news.nctu!newsfeed.nthu!news.cs.nthu!csnews.cs
※ 引述《[email protected] (aa)》之铭言:
> cp: cannot stat `/opt/chem/MSI/MaterialsStudio/Data/Resources/Quantum/Castep/Po
> tentials/Ga_00.usp\r': No such file or directory
> cp: cannot stat `/opt/chem/MSI/MaterialsStudio/Data/Resources/Quantum/Castep/Po
> tentials/Ag_00.usp\r': No such file or directory
> cp: cannot stat `/opt/chem/MSI/MaterialsStudio/Data/Resources/Quantum/Castep/Po
> tentials/Te_00.usp\r': No such file or directory
> 档案来源确实是存在的...
file 一下输入档,改成 unix 格式。
> 另外不晓得为什麽echo POTsrc 时看起来结果正确
> 可是 cp 时会在变数结尾多了一个 \r 的 escape character
> 另外我刚刚也没查到 \r 在 bash script 里代表了什麽...
> 恳请指点
> 谢谢
> 附上输入档的片段内容
> %BLOCK SPECIES_POT
> Ga Ga_00.usp
> Ag Ag_00.usp
> Te Te_00.usp
> %ENDBLOCK SPECIES_POT
> 我就是要从这一个片段取出 Ga_00.usp 然後做复制的动作
> script 中的 for loop 会自动把另外两个 .usp 档处理好...
不知道其他的内容。但以上面的简单例子的话:
for i in `awk '/.usp/ {print $2}' some.file`
do
cp ${SOMEDIR}$i ./
done
就可以下班了……
--
▄▄▄▄▄▄▄ ▄▄▄▄ ▄▄▄▄▄▄ <telnet://bbs.cs.nctu.edu.tw>
█▄▄▄▄█ █ ▄▄▄▄▄█ Player: EdwardLee
▄█▄▄▄▄█ ▄▄▄█ █▄▄▄▄▄ From: linux.cc.ntu.edu.tw
☆ 次世代BS2 ☆ 可申请个人板
150MB 相簿 http://pic.bs2.to 交大资讯人 250MB