关于sed修改特定行的问题比方a.log的内容如下:a 0.25 pvps27/Dec/2007:17:26 0.35 pvps现在利用sed命令把a.log中的以“27/Dec/2007:17:26”开头的行(第二行)的第二列(0.35)的值替换成0.45
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/06 16:47:19
![关于sed修改特定行的问题比方a.log的内容如下:a 0.25 pvps27/Dec/2007:17:26 0.35 pvps现在利用sed命令把a.log中的以“27/Dec/2007:17:26”开头的行(第二行)的第二列(0.35)的值替换成0.45](/uploads/image/z/13843653-69-3.jpg?t=%E5%85%B3%E4%BA%8Esed%E4%BF%AE%E6%94%B9%E7%89%B9%E5%AE%9A%E8%A1%8C%E7%9A%84%E9%97%AE%E9%A2%98%E6%AF%94%E6%96%B9a.log%E7%9A%84%E5%86%85%E5%AE%B9%E5%A6%82%E4%B8%8B%EF%BC%9Aa+0.25+pvps27%2FDec%2F2007%3A17%3A26+0.35+pvps%E7%8E%B0%E5%9C%A8%E5%88%A9%E7%94%A8sed%E5%91%BD%E4%BB%A4%E6%8A%8Aa.log%E4%B8%AD%E7%9A%84%E4%BB%A5%E2%80%9C27%2FDec%2F2007%3A17%3A26%E2%80%9D%E5%BC%80%E5%A4%B4%E7%9A%84%E8%A1%8C%EF%BC%88%E7%AC%AC%E4%BA%8C%E8%A1%8C%EF%BC%89%E7%9A%84%E7%AC%AC%E4%BA%8C%E5%88%97%EF%BC%880.35%EF%BC%89%E7%9A%84%E5%80%BC%E6%9B%BF%E6%8D%A2%E6%88%900.45)
关于sed修改特定行的问题比方a.log的内容如下:a 0.25 pvps27/Dec/2007:17:26 0.35 pvps现在利用sed命令把a.log中的以“27/Dec/2007:17:26”开头的行(第二行)的第二列(0.35)的值替换成0.45
关于sed修改特定行的问题
比方a.log的内容如下:
a 0.25 pvps
27/Dec/2007:17:26 0.35 pvps
现在利用sed命令把a.log中的以“27/Dec/2007:17:26”开头的行(第二行)的第二列(0.35)的值替换成0.45
关于sed修改特定行的问题比方a.log的内容如下:a 0.25 pvps27/Dec/2007:17:26 0.35 pvps现在利用sed命令把a.log中的以“27/Dec/2007:17:26”开头的行(第二行)的第二列(0.35)的值替换成0.45
sed -i 's#\(27/Dec/2007:17:26[[:blank:]]\)\S\S*\([[:blank:]]..*\)#\10.45\2#' a.log
说明:
1)将不变的部分(包括空格)放入带反斜杠的一对括号 \( \) 中.
\(27/Dec/2007:17:26[[:blank:]]\) 对应于后面的 \1
\([[:blank:]]..*\) 对应于后面的 \2
2)正则表达式中的一些常用符号:
[[:space:]] 空格
[[:blank:]] 空格或制表键
[[:graph:]] 任何可视字符(无空格)
\S:用于匹配除单个空格符之外的所有字符
当然,上述命令中的[[:space:]]也可以直接用空格,\S也可以换成[[:graph:]].