一. 文本替换
1. perl -p -i -e "s/filepath/20160617/g" $configFile
filepath:被替换串
20160617:替换内容
$configFile:文件
被替换串或替换串中有’/’用’\’转义 ,加 ‘ ‘没有用
perl -p -i -e 说明见:http://www.cnblogs.com/avenwu/archive/2013/04/18/3028690.html
-p 告诉Perl对后面添加的文件名参数进行遍历
-i 大致是用来读取文件时进行备份操作
-e 告诉Perl后面跟上perl语句
EG:
文本testfile:
PATH:filepath
目标:
PATH: /solr/dianxiao_ic_new/20160606
=> perl -p -i -e "s/filepath/\/solr\/dianxiao_ic_new\/20160617/g" ./testfile
perl -p -i -e "s/filepath/ ’/solr/dianxiao_ic_new/20160617’ /g" ./testfile 或 perl -p -i -e "s/ ‘filepath’ / ’/solr/dianxiao_ic_new/20160617’ /g" ./testfile 没有用
2.
${变量/被替换串/替换串} 替换第一个
${变量//被替换串/替换串} 替换所有
被替换串/替换串中有’/’用’\’转义,或者加’ ’,
EG:
path=” /solr/dianxiao_ic_new/20160606”
目标:path=”\/solr\/dianxiao_ic_new\/20160606”
=> ${path// \/ / \\/} 或 echo ${path// '/' / '\/' }
${var/’date’/’20160412’}
替换变量var中第一个date串为20160412
二. 文本切割
awk –F ‘分隔符’ ‘{print:$1}’
cut –d ‘分隔符’ –f 1 -s (-f:切分后第几个字段)
EG:
ip=`LC_ALL=C /sbin/ifconfig |grep 'inet addr:'| grep -v '127.0.0.1' |cut -d ':' -f 2 -s | awk '{ print $1}'`
cut 说明:
[root@hadoop003 ~]# cut --help
Usage: cut OPTION... [FILE]...
Print selected parts of lines from each FILE to standard output.
Mandatory arguments to long options are mandatory for short options too.
-b, --bytes=LIST select only these bytes
-c, --characters=LIST select only these characters
-d, --delimiter=DELIM use DELIM instead of TAB for field delimiter
-f, --fields=LIST select only these fields; also print any line
that contains no delimiter character, unless
the -s option is specified
-n with -b: don't split multibyte characters
--complement complement the set of selected bytes, characters
or fields
-s, --only-delimited do not print lines not containing delimiters
--output-delimiter=STRING use STRING as the output delimiter
the default is to use the input delimiter
--help display this help and exit
--version output version information and exit
Use one, and only one of -b, -c or -f. Each LIST is made up of one
range, or many ranges separated by commas. Selected input is written
in the same order that it is read, and is written exactly once.
Each range is one of:
N N'th byte, character or field, counted from 1
N- from N'th byte, character or field, to end of line
N-M from N'th to M'th (included) byte, character or field
-M from first to M'th (included) byte, character or field
With no FILE, or when FILE is -, read standard input.