سلام.
من یک فایل دارم که میخواهم در آخر هر خط یک چیزی اضافه کنم ولی هرکاری میکنم درست نمیشود.
فایل من یک چیزی شبیه این است:
2019-08-18,11151.00,11152.00,11000.00,11150.00,744010185979,66725892,8241,10621.00,11152.00
2019-08-17,10650.00,10798.00,10513.00,10621.00,78634255426,7403725,1592,10694.00,10555.00
2019-08-14,10623.00,10975.00,10530.00,10694.00,116415972310,10885882,2045,10466.00,10600.00
2019-08-13,10500.00,10580.00,10430.00,10466.00,105355881829,10066487,1838,10424.00,10437.00
2019-08-11,10350.00,10530.00,10333.00,10424.00,70038113613,6719143,1490,10475.00,10411.00
2019-08-10,10600.00,10605.00,10400.00,10475.00,62335512386,5950765,1344,10547.00,10437.00
2019-08-07,10850.00,10899.00,10480.00,10547.00,105964838413,10047181,1995,10844.00,10620.00
2019-08-06,11080.00,11100.00,10788.00,10844.00,89061382148,8213109,1963,11157.00,10800.00
2019-08-05,11390.00,11390.00,11060.00,11157.00,77539332486,6950123,1360,11201.00,11070.00
با استفاده از این دستور: sed -e 's/$/,1398/' myfile
این شکلی شد:
,139808-18,11151.00,11152.00,11000.00,11150.00,744010185979,66725892,8241,10621.00,11152.00
,139808-17,10650.00,10798.00,10513.00,10621.00,78634255426,7403725,1592,10694.00,10555.00
,139808-14,10623.00,10975.00,10530.00,10694.00,116415972310,10885882,2045,10466.00,10600.00
,139808-13,10500.00,10580.00,10430.00,10466.00,105355881829,10066487,1838,10424.00,10437.00
,139808-11,10350.00,10530.00,10333.00,10424.00,70038113613,6719143,1490,10475.00,10411.00
,139808-10,10600.00,10605.00,10400.00,10475.00,62335512386,5950765,1344,10547.00,10437.00
,139808-07,10850.00,10899.00,10480.00,10547.00,105964838413,10047181,1995,10844.00,10620.00
,139808-06,11080.00,11100.00,10788.00,10844.00,89061382148,8213109,1963,11157.00,10800.00
,139808-05,11390.00,11390.00,11060.00,11157.00,77539332486,6950123,1360,11201.00,11070.00
از یک حلقهی for هم استفاده کردم:
for i in `cat ./myfile`; do
echo $i,1398
done
بازهم همان شد:
bash -x sc.sh
++ cat ./myfile
+ for i in `cat ./myfile`
+ echo $'2019-08-18,11151.00,11152.00,11000.00,11150.00,744010185979,66725892,8241,10621.00,11152.00\r,1398'
,139808-18,11151.00,11152.00,11000.00,11150.00,744010185979,66725892,8241,10621.00,11152.00
+ for i in `cat ./myfile`
+ echo $'2019-08-17,10650.00,10798.00,10513.00,10621.00,78634255426,7403725,1592,10694.00,10555.00\r,1398'
,139808-17,10650.00,10798.00,10513.00,10621.00,78634255426,7403725,1592,10694.00,10555.00
+ for i in `cat ./myfile`
+ echo $'2019-08-14,10623.00,10975.00,10530.00,10694.00,116415972310,10885882,2045,10466.00,10600.00\r,1398'
,139808-14,10623.00,10975.00,10530.00,10694.00,116415972310,10885882,2045,10466.00,10600.00
+ for i in `cat ./myfile`
+ echo $'2019-08-13,10500.00,10580.00,10430.00,10466.00,105355881829,10066487,1838,10424.00,10437.00\r,1398'
,139808-13,10500.00,10580.00,10430.00,10466.00,105355881829,10066487,1838,10424.00,10437.00
+ for i in `cat ./myfile`
+ echo $'2019-08-11,10350.00,10530.00,10333.00,10424.00,70038113613,6719143,1490,10475.00,10411.00\r,1398'
,139808-11,10350.00,10530.00,10333.00,10424.00,70038113613,6719143,1490,10475.00,10411.00
+ for i in `cat ./myfile`
+ echo $'2019-08-10,10600.00,10605.00,10400.00,10475.00,62335512386,5950765,1344,10547.00,10437.00\r,1398'
,139808-10,10600.00,10605.00,10400.00,10475.00,62335512386,5950765,1344,10547.00,10437.00
+ for i in `cat ./myfile`
+ echo $'2019-08-07,10850.00,10899.00,10480.00,10547.00,105964838413,10047181,1995,10844.00,10620.00\r,1398'
,139808-07,10850.00,10899.00,10480.00,10547.00,105964838413,10047181,1995,10844.00,10620.00
+ for i in `cat ./myfile`
+ echo $'2019-08-06,11080.00,11100.00,10788.00,10844.00,89061382148,8213109,1963,11157.00,10800.00\r,1398'
,139808-06,11080.00,11100.00,10788.00,10844.00,89061382148,8213109,1963,11157.00,10800.00
+ for i in `cat ./myfile`
+ echo $'2019-08-05,11390.00,11390.00,11060.00,11157.00,77539332486,6950123,1360,11201.00,11070.00\r,1398'
,139808-05,11390.00,11390.00,11060.00,11157.00,77539332486,6950123,1360,11201.00,11070.00
فکر میکنم مشکل از آن علامت r\ باشد -در همین کادر بالا. کسی میداند باید چکارش کنم؟