sed 之 & 符号

摘自:https://blog.csdn.net/jasonliujintao/article/details/53509620

  • & 这个符号,其实很有用,在对相同模式进行处理的时候很方便。
  • 我们这边主要讲讲这个& 符号的用法

看一下下面这行命令,你觉得会输出什么?

echo hello|sed 's/hello/(&)/'
  • 1

看看结果,你是否猜对了:

[www@]$ echo hello|sed 's/hello/(&)/' (hello)
  • 1
  • 2
  • 相信大家也明白了,& 符号代表的是你前面的匹配的模式。
  • 那么我们也可以用正则表达式去匹配
echo hello| sed 's/[a-z]*/(&)/' 
  • 1

在看一下结果:

[www@]$ echo hello| sed 's/[a-z]*/(&)/'  (hello)
  • 1
  • 2

如果说我们多输出一个单词会怎么样?

[www@]$ echo "hello world"| sed 's/[a-z]*/(&)/'  (hello) world
  • 1
  • 2

为什么world没有加()呢?这个是前面一篇讲过 sed 是以行为单位的,默认匹配第一个。如果需要把world 也加上 () 那么就需要加上 g 参数。

[www@]$ echo "hello world"| sed 's/[a-z]*/(&)/g'  (hello) (world)
  • 1
  • 2

我们是否可以在替换的字符串里添加其他字符呢?当然可以:

[www@]$ echo hello| sed 's/[a-z]*/(&) world/g'  (hello) world
  • 1
  • 2

相信大家看了以上几个例子,就都知道这个 & 符号该怎么使用了。

sed 之 & 符号的更多相关文章

  1. linux下的文本处理命令sed&awk&grep

    Sedsed 是个精简的.非交互式的编辑器.他能执行和编辑vi和emacs相同的编辑任务.sed编辑器不提供交互使用方式:只能在命令行输入编辑命令.指定文件名,然后在屏幕上察看输出.sed编辑器没有破 ...

  2. sed基本用法

    sed命令基本用法sed是一个非交互式文本编辑器,它可以对文本文件和标准输入进行编辑,标准输入可以是来自键盘输入.文件重定向.字符串.变量.来自管道的文本等等.sed从文本的一个文本行或标准输入中读取 ...

  3. Linux下的强大工具之一sed(转),Shell必备

    sed命令基本用法sed是一个非交互式文本编辑器,它可以对文本文件和标准输入进行编辑,标准输入可以是来自键盘输入.文件重定向.字符串.变量.来自管道的文本等等.sed从文本的一个文本行或标准输入中读取 ...

  4. SED总结, mac上要加备份文件名,sort命令和对中文的处理

    使用sed批量改文件名 Sed批量去拓展名 |- dev.gb.conll06.raw |- test.gb.conll06.raw |- train.gb.conll06.raw 想要去掉其中的后缀 ...

  5. linux管道命令grep命令参数及用法详解---附使用案例|grep

    功能说明:查找文件里符合条件的字符串. 语 法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>] ...

  6. Linux命令(1)- grep

    1.grep 功能:查找文件里符合条件的字符串. 语法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数& ...

  7. linux中grep和egrep的用法

    1. grep简介 grep (global search regular expression_r(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大 ...

  8. linux grep详解

    Table of Contents 1. grep简介 2. grep正则表达式元字符集(基本集) 3. 用于egrep和 grep -E的元字符扩展集 4. POSIX字符类 5. Grep命令选项 ...

  9. grep命令參数及使用方法

    功能说明:查找文件中符合条件的字符串. 语 法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>] ...

随机推荐

  1. 【java反射】Class类型的相关操作演练

    [一]获取范型接口的实现类的范型类型 (1)范型接口 package org.springframework.context; import java.util.EventListener; publ ...

  2. python操作RabbitMQ(不错)

    一.rabbitmq RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统.他遵循Mozilla Public License开源协议. MQ全称为Message Queue, 消息队列 ...

  3. as3随机数

    for(var i:int = 0;i<100;i++){    trace(Math.floor(Math.random()*3)); } Math.floor(Math.random()*3 ...

  4. 64位linux下rpm安装mysql的5.5.55版本

    昨天同事开了个阿里云环境,让我帮他安装mysql数据库,本想着很简单的一件事,结果还是折腾了一番.坑很多,一路趟过,一个接一个,只能硬着头皮冲. 首先是下载压缩包,因为采用了rpm安装方式,所以下载的 ...

  5. php 权限 管理

    权限的思考: https://www.jianshu.com/p/cf9077a7d38a 权限例子,用户 角色 功能 用户角色关联表 角色功能关联表 http://www.cnblogs.com/n ...

  6. MongoDB-WriteConcern

    WriteConcern safe=false 非安全模式 很快

  7. java 随意控制控件的位置

    package chat1; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class chat1{ ...

  8. PTA 说反话-加强版(20 分)(字符串处理)

    说反话-加强版(20 分) 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串.字符串由若干单词和若干空 ...

  9. php代码中临时开启错误调试

    对php.ini 中参数的设置 也可用在php代码中完成. 调用:调用ini_set()函数 //开启php.ini中的display_errors指令 ini_set('display_errors ...

  10. C#字符串Split方法的误区

    string s = "aaa1bbb2ccc1ddd";        string[] ss = s.Split("12".ToCharArray()); ...