【发布时间】:2015-05-24 02:37:04
【问题描述】:
我的脚本中有一个粘贴命令。但它没有给出我想要的输出。我的数据文件是
file.txt
1
3
5
4
我的shell脚本是
f1=file.txt
for j in 1..12
do
awk '{printf ("%.1f\n", $1+'$j');}' $f1 > $j_$f1
paste $j_$f1 > ofile.txt # ofile.txt is a new empty file
done
这个脚本给出的输出为
ofile.txt
2
4
6
5
3
5
7
6
.
.
我想要的输出为
ofile.txt
2 3 4 5 6 ... 13
4 5 6 7 8 ... 15
6 7 8 9 10 .. 17
5 6 7 8 9 ... 16
我也想为下面的脚本做
bonus_company1=10
bonus_company2=25
bonus_company3=50
declare var=("company1" "company2" "company3")
for k in var{[@]}
do for j in jan..dec
do if [ $j == "jan" ] || [ $j == "may" ] || [ $j == "sep" ]; then
awk '{printf ("%.1f\n", $1+ '$bonus_$k');}' $f1 > $k_$j_$f1
elif [ $j -ne "jan" ] && [ $j -ne "may" ] && [ $j -ne "sep" ]; then
awk '{printf ("%.1f\n", $1+5);}' $f1 > $k_$j_$f1
fi
paste $k_$j_$f1 > $k.txt # $k.txt is a new empty file
done
done
所以我将为三个公司获得 3 个不同的文件。例如
company1.txt
11 6 6 6 11 .....
13 8 8 8 11 .....
15 10 10 10 15 .....
14 9 9 9 14 .....
【问题讨论】: