时间:2023-02-05来源:系统屋作者:zhijie
4.也可以把两条命令和在一起,在test.file的每一行的行头和行尾分别添加字符“HEAD”、“TAIL”,命令:sed ‘/。/{s/^/HEAD&/;s/$/&TAIL/}’ test.file
以上其实都还OK,昨天花太多时间,主要因为被处理的文件是用mysql从数据库提取的结果导出来的,别人给我之后我就直接处理,太脑残了= -我一直有点怀疑之所以结果不对,有可能是windows和linux换行的问题,可是因为对sed不熟,就一直在搞sed。
众所周知(= -),window和linux的回车换行之云云,如果你知道了,跳过这一段,不知道,读一下呗:
Unix系统里,每行结尾只有“《换行》”,即“\n”;Windows系统里面,每行结尾是“《换行》《回 车》”,即“\n\r”。一个直接后果是,Unix系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在 Unix下打开的话,在每行的结尾可能会多出一个^M符号。
好了,所以我的问题就出在被处理的文件的每行末尾都有^M符号,而这通常是看不出来的。可以用“cat -A test.file”命令查看。因此当我想在行尾添加字符的时候,它总是添加在行首且会覆盖掉原来行首的字符。
要把文件转换一下,有两种方法:
1.命令dos2unix test.file
2.去掉“\r” ,用命令sed -i ‘s/\r//’ test.file
以上就是Linux使用sed命令添加字符串的方法了,还是那句话,Linux添加字符串的方法有很多。如果想要在文本的首尾行添加字符串,使用sed命令是最方便的了。
2023-02-05
在Linux系统中如何使Docker镜像变小2023-02-05
Linux系统使用Visual Studio有哪些快捷键?2023-02-04
Linux用sonar获取违规数和代码行数的方法数据的安全性无疑是非常重要的,试想一下如果一加银行的计算机系统中的数据被泄露或者是修改,那么会是一种什么样的后果。就算普通人使用计算机也要注意数据保护。本文就来介绍一下Linux如何使用工具来加密数据。...
2023-02-04
Ubuntu系统能够自动检测程序中的错误,并用错误提示来提醒用户。但是这些错误还是要用户自己去修改,那么如何修复Ubuntu程序中的错误呢?...
2023-02-04