sed或awk处理文件最后一行的实现方法
有如下的文本:
abcd 1234 fds
2011 550
1023 832er 1231
要求处理后如下所示:
abcd 1234 fds
2011 550
total1:1023 total2:832er 12end
判断如果是文本最后一行则在第一列前面加total1:,第二列加total2:, 第三列后面减掉后面两个字符并加end。
分别用sed与awk来实现。
sed:
echo 'abcd 1234 fds
2011 550
1023 832er 1231' |sed -r '$s/([^ ]*)( )([^ ]*)( )(..).*$/total1:12total:345end/'
abcd 1234 fds
2011 550
total1:1023 total:832er 12end
awk:
awk 'NR>1{print a}{a=$0}END{$1="total1:"$1;$2="total2:"$2;print gensub(/..$/,"end",$0)}' file
awk 'BEGIN{getline a}{print a;a=$0}END{$1="total1:"$1;$2="total2:"$2;$3=gensub(/..$/,"end",1,$3);print}'
awk '{if(!getline line){print "total1:"$1" total2:"$2" "gensub(/..$/,"end",1,$3)}else{print line?$0 RS line:$0}}'
linux和windows下的自动ftp脚本(shell bat)
一、先来看linux下的:#!/bin/bashcd/ftp/CURRENTDATE=`date+%Y%m%d`YESTERDAY=`date-dyesterday+%Y%m%d`THREEDAYAGO=`date-d'3daysago'+%Y%m%d`#echo$TWODAYAGOftp-n-i34.97.34.3!userftpuserftpuserbinmpu
shell自定义函数及参数调用解析
一、定义函数functionfname(){statements;}或fname(){statements;}二、调用函数只需要使用函数名,即可调用某个函数:$fname;#执行函数可以传递参数给函数,并由脚
shell查找符号链接及其指向目标的方法介绍
在类unix系统中,符号链接是很常见的,我们会碰到各种与符号链接相关的处理工作。本文为大家介绍一些处理符号链接的实践方法,希望对大家编写shel
编辑:广州明生医药有限公司
标签:函数,符号,链接,文本,参数