sed 匹配\n换行符】的更多相关文章

假设 str="a,b,c,d" echo ${str} | sed "s/,/\n/g" 输出: a b c d echo ${str} | sed "s/,/\n/g" | sed "s/\n/,/g" 输出: a b c d 没有匹配到\n换行符 这是因为sed 模式是以\n换行符作为行的结束标记的.它没有办法匹配到\n再替换 解决方法: echo ${str} | sed "s/,/\n/g" |…
在群里看到的.记录以备用.  sed 帮助命令:http://man.linuxde.net/sed 文件里有如下行,我想将每行的回车符替换为逗号,并将所有行合并到一行,用awk或sed怎么写啊TOP_COLUMNTOP_MESSAGETOP_OPTIONSTOP_TOPICTOP_VOTETOP_COLTYPE   awk '{{printf"%s,",$0}}' sed ':a;N;$!ba;s#\r\n#,#g'N 是下一行,! 对没有影响的行用该命令,$ 最后一行;:a 标签b…
要使用正则匹配任意字符的话,通常有以下几种方法,这里我分别对每一种方法在使用的过程中做一个总结: 第一种方式:[.\n]*? 示例 ? PHP preg_match_all('/<div class="list">[.\n]*?<\/div>/i', $content, $data); 按道理这种方式应该是可以的,但我测试发现不行,因为这里中括号里面的“.”被当作一个普通的英文句号去处理了,而不是通配符,因此这里只能匹配到包含英语句号及换行符在内的任意内容了.…
如果你使用/^.*$/这种正则是匹配不到回车换行符的. 所以应该像下面这么写: /^[\s\S]*$/…
1. 删除文档中的蓝色转义字符^M 注意:^M 不能从键盘输入^和M,也不能复制.而是需要按Ctrl+v 然后再按Ctrl+M 按Ctrl+v的时候屏幕不会输出,再按下Ctrl+M的时候即会出现^M   这个很重要!!!!!输入结束要再次按Ctrl+v键盘会切换回来. sed -i 's/^M//g' swlog.log 2. ^[[16D 文档里出现的这个字符里^[是蓝色的,应该是转义字符,删除这个跟上面方法一样,Ctrl+V 然后Ctrl+[  剩下的是普通字符,可以替换.…
python3的re模块使用过程中,正则的书写遇到了一些问题,就是使用.*?能不能匹配到换行符的问题. 答案是不能. 如果在匹配过程中遇到了也没关系,加上这个语句就好: \s+…
默认情况下,正则表达式 ^ 和 $ 忽略行结束符,仅分别与整个输入序列的开头和结尾匹配.如果激活 MULTILINE 模式,则 ^ 在输入的开头和行结束符之后(输入的结尾)才发生匹配.处于 MULTILINE 模式中时,$ 仅在行结束符之前或输入序列的结尾处匹配. import java.util.regex.Pattern; /** * Created by Frank * 使用正则表达式在文本中查找换行符 */ public class NLMatch { public static voi…
sed 删除换行符 sed ':label;N;s/\n/:/;b label' filename sed ':label;N;s/\n/:/;t label' filename 上面的两条命令可以实现将文件中的所有换行符替换为指定的字串,如命令中的冒号.命令的解释: :label;  这是一个标签,用来实现跳转处理,名字可以随便取(label),后面的b label就是跳转指令 N;  N是sed的一个处理命令,追加文本流中的下一行到模式空间进行合并处理,因此是换行符可见 s/\n/:/;  …
linux sed命令,如何替换换行符“\n” 在一次sed使用中,执行命令: sed "s/\n//g" file 1 发现,没起到任何效果. 后来,经查sed官方用户手册,才得知,sed是按行处理文本数据的,每次处理一行数据后,都会在行尾自动添加trailing newline,其实就是行的分隔符即换行符. 如果非要使用sed命令,实现替换file文本内容的换行符为空的话,那么就要了解sed的分支条件命令,以及了解sed的pattern space模式空间和hold space保持…
使用如下解决方案: sed ':a;N;$!ba;s/\n/ /g' 这将在一个循环里读取整个文件,然后将换行符替换成一个空格. 说明: 通过 :a创建一个标记 通过N追加当前行和下一行到模式区域 如果处于最后一行前,跳转到之前的标记处. $!ba ($! 意思是不在最后一行做这操作 (最后一行就被当成最后的一行)). 最后置换操作把模式区域(就是整个文件)的每一个换行符换成一个空格. 示例追加: $ echo -e "1\n2" | sed ':a;N;$!ba;s/\n/ /g'…
linux 的sed命令解释 sed ':t;N;s/\n/,/;b t' 将换行符换成逗号 实现的功能是吧换行符换成逗号了,自己试验过. 求解释,:t N b t 都是什么意思??? :t 定义label "t" b t 转到label "t" 继续执行 N 先读入一行到sed的模板空间,加个换行符(\n),再向sed模板空间追加下一行(之后sed 对模板空间中的内容执行s/\n/,/替换,并显示替换后的内容)…
windows下sed回车换行符处理如果用sed for windows对整个文件进行了编辑,编辑之后一般需要处理回车换行符:rem windows的回车换行符是\r\n,linux的是\n,所以要替换:sed -i -e "s/$/\r/g" "%bootdisk%\menu.lst"…
Sed Sed是一个强大的文本处理工具 能够採用正则匹配.对文本进行插入删除改动等操作 Sed处理的时候,一次处理一行,每一次把当前处理的存放在暂时缓冲区.处理完后输出缓冲区内容到屏幕,然后把下一行读入缓冲区,如此反复,直到结尾. 1.命令格式和參数 sed [-nefr] [动作] 文件 參数: -n 安静模式.在sed处理的时候.全部来自STDIN的数据都会被输出到终端.加上-n会仅仅输出处理的哪行 -e 直接在命令列上进行sed动作编辑 -f 直接将sed的动作写在文件内 -r sed动作…
Linux或Unix文件,和windows文件,在来回处理时,如果不注意 换行符的区别,可能导致程序错误!!!深刻的教训.... 在早期的打印机时代,开始新的一行要占用两个字符的时间.如果到了一行的结尾处,你要快速回到新的一行的开头,需要打印针头在纸面上飞快地掠过,常常会在纸面上留下污点.解决这个问题的办法就是,用两个字符:一个字符<Return>来移到第一列,另一个字符<Line feed>来新增一行.计算机产生以后,存储较为昂贵,在如何解决回车换行这个老问题上,人们产生了不同的…
thinkphp3.2 3.2中取消了配置文件中的 'TMPL_STRIP_SPACE' 属性,所以我们先来修改:\ThinkPHP\Library\Think\Template.class.php 文件 找到compiler方法: /** * 编译模板文件内容 * @access protected * @param mixed $tmplContent 模板内容 * @return string */ protected function compiler($tmplContent) { /…
在用sqlldr导入数据之后,出现数据无法匹配的情况 在用plsql点击的时候,发现出现换行符的情况,从而使用下面的方法进行匹配 select q.comments from q where replace(q.table_name,chr(13),'') =replace(p.table_name,chr(13),'') 如果需要删除表中的换行符,使用下面的语句: update kel q set q.column_name = replace(q.column_name,to_char(ch…
下面是我对这个问题的解决过程,最后算是完全搞懂了,真是阴沟里险些翻船 1.必须知道textarea中的换行符是 \n  (个人检测发现按回车键是\n,好像在linux下是\r\n) 2.用nl2br之前,请仔细看好手册解释,我就是搞郁闷了,一般都理解为将\n转换成<br >,其实不是的: 看php手册解释: nl2br –  Inserts HTML line breaks before all newlines in a string Returns string with ‘<br…
一.windows的文件到linux下的转换方法: 1. 用sed命令替换 sed -e 's/^M//g' original.txt > target.txt (注意^M 在Linux/Unix下是这样输入的:先按CTRL+v,接着按CTRL+SHIFT+m,呵呵~~ 其实俺主要就是为了记录一下这个输入方法) 2. 在vi中替换 :%s/^M//g3.sed命令替换sed -e 's/.$//' dos.txt > linux.txt 二.Linux文本传到windows系统,转换方法:se…
在linux下打开windows编辑过的文本,会出现由于换行符不一致而导致的内容格式错乱的问题.最常见的就是出现^M . 我出现的问题是:在windows编辑过的文件,传到linux上后再用vim打开,内容没有换行.也就是所有文件内容都在一行.然后再实际换行的位置多了个^M. 下面的方法是网上搜的.其中dos2unix还有一个相对应的unix2dos 1.使用dos2unix命令.一般的分发版本中都带有这个小工具(如果没有可以根据下面的连接去下载),使用起来很方便: $ dos2unix myf…
参考http://stackoverflow.com/questions/19331426/for-loop-does-not-iterate-the-way-i-want 见以下代码: package com.ljh.corejava; import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class NextIntTest { public static void main(St…
今天需要删除文件里面的换行符,比如有一个文件a.txt: 1,2,3 4,5,6 1,2,3 4,5,6 1,2,3 4,5,6 1,2,3 4,5,6 1,2,3 4,5,6 1.使用vim删除换行符 vim输入命令:%s/\n//g 2.使用sed命令,例如 sed ':t;N;s/\n//;b t' a.txt 结果:1,2,34,5,61,2,34,5,61,2,34,5,61,2,34,5,61,2,34,5,6 解释一下: :t 定义label "t" b t 转到labe…
我们要分析网页,把整个网页内容作为匹配源,但是c#的正则表达式是默认以一行为单位的,使用 RegexOptions.Multiline 也没有实质性作用(它知识改变了^和$的行为) 只要在正则表达式前面加上(?s)这个选项即可 参考资料:http://hi.baidu.com/hetaoos/blog/item/7936a80faec513e9ab6457b8.html string s = "......."; string r = @"(?s)(?i)导演:\s*<…
final private String stringTrimAll(final String input) { if (null == input) return ""; // 正则匹配{空格/换行/回车/制表符/换页符} final String regx = "\\s*|\t|\r|\n"; Pattern patt = Pattern.compile(regx); Matcher m = patt.matcher(input); return m.repla…
0.01 不同平台上换行符的问题 1,不同平台对换行符的制定不同 windows <回车换行> (carriage return AND line feed) “\n\r” CRLF Unix系统 <换行> (carriage return) “\n” CR window unix mac 等平台,换行符的不同: 2,由于换行符的不同,在不同系统之间传递文件产生的问题 1,文本显示问题,windows 下的文件在linux 下会产生 ^M 符号,而 linux 下创建编辑的文件 在…
分析理解:Scanner sc = new Scanner(System.in); package cn.itcast_01; /* * Scanner:用于接收键盘录入数据. * * 前面的时候: * A:导包 * B:创建对象 * C:调用方法 * * 分析理解:Scanner sc = new Scanner(System.in); * System类下有一个静态的字段: * public static final InputStream in; 标准的输入流,对应着键盘录入. * * I…
有下面一段文本, 在编辑器里的格式如下: <div id="foo"> line1line2line3</div> 切换到浏览器, 显示如下 line1line2line3 这里我想使浏览器显示效果变成如下形式 line1 line2 line3 编辑器里回车产生的换行符\n是不可见的, 这里我们用js把\n替换为<br> 尝试如下代码: var txt=$('#id').html(); txts=txts.replace('\n','<br&…
将 windows文件移到linux系统下会在文件行末尾多了一个换行符^M 使用命令cat -v tmp.c可以看到每行后边有^M字符 为了解决这个问题,我们用如下命令:touch love_tmp.c (首先建立一个临时文件来保存没有特殊字符^M的内容) -- sed 's/^M//' love.c > love_tmp.c (接着用sed命令删除love.c文件中的^M,并将内容保存于临时文件love_tmp.c,这里要注意^M的输入为“CTRL+V”加上“CTRL+M”这两个必须连续输入)…
本博启用了一个叫wp super cache的页面压缩工具, 源代码没有去查看,不过原理很简单. 我们可以自己动手书写一个压缩脚本. 清除换行符,清除制表符,去掉注释标记 .它所起到的作用不可小视. 现提供PHP 压缩HTML函数.请大家不妨试试看,感觉还不错吧. 不废话了,直接上代码: <?php /** * 压缩html : 清除换行符,清除制表符,去掉注释标记 * @param $string * @return 压缩后的$string * */ function compress_htm…
前一阵子用excel导入资源,使用join时发现匹配项为0赶紧用left join看看情况,发现无法链接表. 后来觉得可能是换行的问题,发现还真是,于是就在数据库里删除不想要的字符了,当然,一定要养成良好习惯,遇到update或者delete,一定要先用select探路: )+'%' )+'%' )+'%' order by nspdate desc 制表符 ) 换行符 ) 回车 ) 如果发现了数据,那就说明真的存在无用字符,下面就可以用替换法更新了: update [MainData] ),…
之前在Windows下写好了一个Python脚本,运行没问题,今天在Linux下,脚本开头的注释行已经指明了解释器的路径,也用chmod给了执行权限,但就是不能直接运行脚本. 1 问题1: 报错:: No such file or directory #!/usr/bin/env python chmod 777 test.py   解决办法: 用vim打开该sh文件,输入: :set ff  回车,显示fileformat=dos,重新设置下文件格式: :set ff=unix  保存退出  …