20161110-awk、sed测试题

1、

出题了:
示例文本如下:
aaaaabbbbbcccccddd
aaaaabbbbbccccc

希望得到的结果如下:
aaaaa|bbbbb|ccccc|ddd
aaaaa|bbbbb|ccccc

匹配要求:
我希望每5个字符之间插入一个 "|", 如果该行的字符数量正好是 5 的倍数 行末就不插入 "|" 了.

解一:

[[email protected] ]#sed -r ‘s#(.{5})#\1|#g‘ t1shell.txt |sed  ‘s#|$##g‘
aaaaa|bbbbb|ccccc|ddd
aaaaa|cdefg|bbbbc|cccc
ddddd

解二:

[[email protected] ]#awk -vFPAT=‘.{5}|.{1,5}$‘ -vOFS=\| ‘{NF=NF}1‘ t1shell.txt
aaaaa|bbbbb|ccccc|ddd
aaaaa|cdefg|bbbbc|cccc
ddddd

解三:

[[email protected]]#perl -p -e ‘s/(.{5})(?<!$)/\1|/g‘ t1shell.txt
aaaaa|bbbbb|ccccc|ddd
aaaaa|cdefg|bbbbc|cccc
ddddd
时间: 2024-08-06 07:28:20

20161110-awk、sed测试题的相关文章

解决ssh远程执行命令无法使用awk/sed的问题

举例: ssh 目标IP "awk '{print \$1}' 文件名" ssh 目标IP "sed '\$aabc\ndef' 文件名" 说明:只要保证ssh使用的是"",并且awk/sed中的$加上转义即可.

echo\awk\sed\tee\curl的使用-shell

echo的使用:http://man.linuxde.net/echo awk的使用:http://man.linuxde.net/awk sed的使用:http://man.linuxde.net/sed tee的使用:http://man.linuxde.net/tee curl的使用:http://man.linuxde.net/curl

转摘--如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等

http://www.vaikan.com/use-multiple-cpu-cores-with-your-linux-commands/ 你是否曾经有过要计算一个非常大的数据(几百GB)的需求?或在里面搜索,或其它操作——一些无法并行的操作.数据专家们,我是在对你们说.你可能有一个4核或更多核的CPU,但我们合适的工具,例如 grep, bzip2, wc, awk, sed等等,都是单线程的,只能使用一个CPU内核. 借用卡通人物Cartman的话,“如何我能使用这些内核”? 要想让Lin

正则表达式解析 & awk/sed/grep实用实例总结文档

##正则表达式特殊字符解析 "^" 匹配行首 "$" 匹配行尾 "^$" 匹配整行为空,空行 grep -v "^$"    打印非空的行 "."  代表且只能代表任意一个字符 "*" 重复0个或多个前面一个的字符.例如"o*",重复一个或多个o ".*"  匹配所有字符.延伸: "^.*" -->以任意多个字符开头.&q

跟马哥学linux (lesson 8)awk & sed功能总结

一.awk 1.什么是awk awk 是一种程序语言. 它具有一般程序语言常见的功能.  因awk语言具有某些特点, 如 : 使用直译器(Interpreter)不需先行编译; 变量无类型之分(Typeless), 可使用文字当数组的下标(Associative Array)...等特色. 因此, 使用awk撰写程序比起使用其它语言更简洁便利且节省时间. awk还具有一些内建功能, 使得awk善于处理具数据行(Record), 字段(Field)型态的资料; 此外, awk内建有pipe的功能,

awk && sed (1)====积累取ip以及sed 查找替换

(一)awk 和 sed 的相似点 (1)它们都使用相似的语法来调用. (2)它们都是面向字符流的,都是从文本中一行一行的输入,并且将输入直接送到标准输出端 (3)它们都使用正则表达式进行模式匹配 (4)它们允许用户在脚本中指定指令 我可能写的不是很好,这是我写脚本经常用到的,我认为这种东西要想学好就的多想,然后慢慢积累,而且我个人的心得是更加注重从实例出发,有些东西你看到以后多想想,可能到后来你还会遇到一些很相似的东西,不知不觉就学会了. (一)取ip,一定要注意观察我报错的地方 (1)最简单

cut\grep\awk\sed命令详解

cut\grep\awk\sed命令详解 1.cut命令详解及实例 (1)作用:提取文件中指定的列 语法格式:cut  选项  文件名   (2)选项作用:      -d 分隔符     按照指定的分割符进行分割      -f 列号       指定提取第几列      -c 字符范围  不依赖分割符来分割,而是通过字符范围进行字段提取      -b 字节数     以字节为单位进行分割.    (3)cut实际应用案例. 例1:cut的-d和-f选项的使用,列出/etc/passwd里面

linux 下的 正则表达式(awk,sed,awk)学习

一.正则表达式: 正则表达式(或称Regular Expression,简称RE)就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式. 该模式描述在查找文字主体时待匹配的一个或多个字符串. 正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配.简单的说,正则表示式就是处理字符串的方法,它是以行为单位来进行字符串的处理行为, 正则表示式通过一些特殊符号的辅助,可以让使用者轻易的达到搜寻/删除/取代某特定字符串的处理程序.vim.grep.find.awk.se

Linux基础:awk &amp; sed &amp; uniq &amp; split 解析文本

 grep -Eni '(.+center.+){6}' TestSummaryReport.html|awk -F'<td align="center">' '{print $4}' test.html grep 查询对应行 grep -Eni '(.+center.+){6}' test.html --正解 grep -Eni '(center){6}' test.html 查询为空因为用center进行精确匹配,空格做分隔符找不到相应内容,必须在center前后加上.

[Shell]字符截取命令:cut, printf, awk, sed

------------------------------------------------------------------------------------------- [cut命令] cut [选项] 文件 -f 列号        ( --field 提取第几列 ) -d 分隔符    ( --delimiter 按照指定分隔符分割列 ) vi user.txt ( 行间分隔符为制表符Tab,cut的默认分割符是制表符 ) 提取系统的用户名和uid: cut -d ":&quo