sed替换文件中的空格或tab键为指定的单分隔符

2019独角兽企业重金招聘Python工程师标准>>> sed替换文件中的空格或tab键为指定的单分隔符
文章图片

#sed替换文件中的空格或tab键为指定的单分隔符

# 替换两个或多个空格为一个空格 sed 's/[ ][ ]*/ /g' file_name # 替换两个或多个空格为分隔符: sed 's/[ ][ ]*/:/g' file_name

如果空格与tab共存时用下面的命令进行替换
# 替换成空格 sed 's/[[:space:]][[:space:]]*/ /g' filename # 替换成分隔符: sed 's/[[:space:]][[:space:]]*/:/g' filename

一个使用的示例:
# 提取jpeglib.h文件中的JPEG_LIB_VERSION的定义版本号字符串 # 文件中的该行为: #define JPEG_LIB_VERSION62/* version 62 */ # 结果为 62 sed -n '/#define JPEG_LIB_VERSION/s/[[:space:]][[:space:]]*/ /gp' jpeglib.h |cut -d " " -f 3

sed重要注意事项
  1. sed支持正则表达式,空格的表示方法[[:space:]]
  2. 利用-i选项可以直接修改原来文件,不必生成新文件
  3. 为了引入shell变量,必须使用双引号(很重要)
  4. 例子sed -i "s/#server[[:space:]]$1/server $1/g" $2 将 server加若干空格加指定内容 前面的所有井号去掉
【sed替换文件中的空格或tab键为指定的单分隔符】转载于:https://my.oschina.net/readerror/blog/749971

    推荐阅读