我正在研究一个包含下面一段代码的shell脚本。 我不明白这些行,主要是剪切命令和导出命令。任何人都可以帮助我... 也请指点我一个更好的Linux命令参考。 在此先感谢!在shell脚本中剪切并导出命令
# determine sum of 60 records
awk '{
if (substr($0,12,2) == "60" || substr($0,12,2) == "78") \
print $0
}'< /tmp/checks$$.1 > /tmp/checks$$.2
rec_sum =`cut -c 151-160 /tmp/checks$$.2 | /u/fourgen/cashnet/bin/sumit`
export rec_sum
在我的下面SUMIT脚本代码
awk '{ total += $1}
END {print total}' $1
让我告诉我的主要脚本prep_chk从给定的位置
awk 'BEGIN{OFS=""} {if (substr($0,12,2) == "60" && substr($0,151,1) == "-") \
{ print substr($0,1,11), "78", substr($0,14) } \
else \
{ print $0 } \
}' > /tmp/checks$$.1
# determine count of non-header record
rec_cnt=`wc -l /tmp/checks$$.1`
rec_cnt=`expr "$rec_cnt - 1"`
export rec_cnt
# determine sum of 60 records
awk '{ if (substr($0,12,2) == "60" || substr($0,12,2) == "78") \
print $0 }'< /tmp/checks$$.1 > /tmp/checks$$.2
rec_sum=`cut -c 151-160 /tmp/checks$$.2 | /u/fourgen/cashnet/bin/sumit`
export rec_sum
# make a new header record and output it
head -1 /tmp/checks$$.1 | awk '{ printf("%s%011.11d%05.5d%s\n", \
substr($0,1,45), rec_sum, rec_cnt, substr($0,62)) }' \
rec_sum="$rec_sum" rec_cnt="$rec_cnt"
# output everything else sorted by tran code
grep -v "%%%%%%%%%%%" /tmp/checks$$.1 | cut -c 1-150 | sort -k 1.12,13
比较好些么?你读过手册页了吗?例如'男人切'? – Matteo 2013-04-23 10:04:29
我不是Linux用户,我不知道这是一个手册页!另外我不执行这些脚本。我只是用PHP重写它。 – 2013-04-23 10:06:18
Google for'man cut'或在shell中输入 – Matteo 2013-04-23 10:08:43