Linux 文本字符串替换和字符串切割 处理

一.  文本替换

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.




 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值