这个问题是我前面关于读取文件中某些行的问题的后续问题。我看了我的档案如下:
while read line
do
if [ "$line" == "SUMMARY OF POLARIZATION CALCULATION" ]; then
for i in {1..9}
do
read line
echo $line >> ../../Summary.out
done
break
fi
done < ../Tutorial1_1.out看起来是这样的:
.
.
.
O (0.0000, 0.5000, 0.4834) sp(1) 6.00 [ 0.000000e+00, 1.884956e+01, 1.822516e+01]
---------------------------------------------------------------------------------------
Total ionic phase (rad) sp(1) [ 7.539822e+01, 7.539822e+01, 1.119960e+02]
Total ionic phase wrap. (rad) sp(1) [ 8.633172e-11, 8.633172e-11, -1.101384e+00]
Ionic polarization (C/m2) sp(1) [ 1.365657e-11, 1.365657e-11, -1.760570e-01]
=======================================================================================
SUMMARY OF POLARIZATION CALCULATION
=======================================================================================
Value | spin | dir(1) | dir(2) | dir(3)
---------------------------------------------------------------------------------------
Electronic polarization (C/m2) sp(1) [-8.783054e-12, -8.828765e-13, 4.803326e-01]
Ionic polarization (C/m2) sp(1) [ 1.365657e-11, 1.365657e-11, -1.760570e-01]
Tot. spin polariz.=Pion+Pel (C/m2) sp(1) [ 4.873517e-12, 1.277369e-11, 3.042756e-01]
---------------------------------------------------------------------------------------
TOTAL POLARIZATION (C/m2) both [ 4.873517e-12, 1.277369e-11, 3.042756e-01]
=======================================================================================
Completed using BerryPI version: +++Version 1.2 (Mar 12, 2014)
...所以上面的代码只是在“摘要.”之后的9行。并写入Summary.out文件。但是,当它编写时,它会把所有的间距都搞砸,所以我得到了以下内容:
=======================================================================================
Value | spin | dir(1) | dir(2) | dir(3)
---------------------------------------------------------------------------------------
Electronic polarization (C/m2) sp(1) [-8.783054e-12, -8.828765e-13, 4.803326e-01]
Ionic polarization (C/m2) sp(1) [ 1.365657e-11, 1.365657e-11, -1.760570e-01]
Tot. spin polariz.=Pion+Pel (C/m2) sp(1) [ 4.873517e-12, 1.277369e-11, 3.042756e-01]
---------------------------------------------------------------------------------------
TOTAL POLARIZATION (C/m2) both [ 4.873517e-12, 1.277369e-11, 3.042756e-01]
=======================================================================================我如何解决这个问题,是否有一个标志能够与输入文件中的字符串完全相同地读取和写入字符串?
发布于 2014-09-03 16:06:05
我建议用
echo "$line" >> ../../Summary.out而不是
echo $line >> ../../Summary.outhttps://stackoverflow.com/questions/25648869
复制相似问题