linux awk sed 技术片段

1. sed 's/-/\t/g' file 全局替换文件内容(-变成Tab)并显示, -i 表示更新到文件

2. grep -o '' 表示仅输出匹配部分 。 grep -oP 表示使用Perl正则表达式

3. redis renamenx oldkey newkey 如果newkey已存在会导致错误,如nullpointer在bw中

4. get jms message一直在吃消息却不结束导致十分钟刷日志的邮件都没有了

5. awk匹配到指定的字符串并打印该字符串所在的域(列数)

awk匹配到指定的字符串并打印该字符串所在的域(列数)

格式:

awk '/匹配串/ {for(i=1;i<=NF;i++) if($i ~ /字符串/)print $i i}'$filename

awk '/匹配串/ {for(i=1;i<=NF;i++) if($i ~ /(字符串1|…|字符串n)/)print $i i}'$filename

例:

awk '/WEB_TITLE/ {for(i=1;i<=NF;i++) if($i ~ /(双线|单线)/)print $i i}' t_config.txt

6. -F[@ /t] 告诉awk@, 空格和Tab都是字段分隔符,

例如:awk-F[@ /t] '{print $2,$3}' test以@,空格,Tab键分割test文件的每一行

7. awk-F '[ :\t|]' '{print $1}' file 按照正则表达式的值做为分隔符,这里代表空格、:、TAB、|同时做为分隔符

8. robert@RobertNote@~@10:10:13]

1284 $ date -I|cut -d "-" -f 2,3

03-20

不足之处在于如何使用cut输出0320 ?为何必须要把分隔符放在这儿?

看了 http://www.jb51.net/article/41872.htm
 感觉cut选择多个域的话,一定会带着分隔符一起出现的。

你可能感兴趣的:(linux awk sed 技术片段)