1、shell变量只是一个由名字表示的参数,或者是由名字表示的字符序列。例如定义变量a:a='a\nb'变量a代表字符串'a\nb';
'\n'表示换行,实质上是'反斜杠转义功能'是否启用下面列举三种使用方式,一种原样输出,另两种解析换行。
2、第一种原样输出:用echo$a,他输出字符a\nb没有去解析换行。
2、第二种输出换行:使用echo-e$a,他输出字符a,然后一个换行,然后输出字符b
这个-e选项就是启用启用反斜杠转义功能
3、第三种输出换行:另一种输出换行的样例是printf$a,
输入命令printf$a时,他输出字符a,然后一个换行,然后输出字符b。printf默认启用反斜杠转移功能。与echo命令不同的时echo在输出的最后添加一个换行符,容查阅读。
使用一个sed命令即可:
解释:
/<import/ { 如果某行找到<import 则执行后面大括号中的内容
:go; 设置一个标签
/<\/import>/!{ 查找</import> 如果没找到则执行大括号中的内容
N ——再读取一行追加到模式空间
bgo}} ——跳转到go标签
上面会循环一直将 从<import 开始 到</import>结束的各行读到入模式空间
s/\n//g ——删除模式空间中所有的换行符
p——打印模式空间内容,即将跨行的import变成1行。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)