如何在sed中使用变量
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/09/25 20:26:20
如何在sed中使用变量
通常,我们使用sed进行变量替换的时候,替换和被替换变量都是hard-coded的.例如:
sed -n ‘/comm/p’ /tmp/test.log
如果我们用一变量var,它的值根据上下文变化
$ var=”comm”,定义了变量,那么我们在sed的使用中这样使用变量
$ sed -n ‘/’”$var”‘/p’ /tmp/test.log
注意,是用单引号包含双引号来引用变量.
最初接触这个命令的人,可能以为$var之前的单引号会结束当前的script,其实不会.
若要在文本中匹配一个范围的话,可以使用的sed匹配
$ sed -n
‘/’”$var_start”‘/{p;:a;n;/’”$var_end”‘/p;ba}’ /tmp/test.log
-n 关闭sed的默认输出
/$var_start/ 当数据行中查找到字符串$var_start
时开始工作,后面的是命令组{}
p; 打印出$var_start 这一行
:a 定义一个标签,名称为a
n;
读取下一行
/$var_end/p; 当读入的这一行中查找到$var_end 字符串时,输出
ba 跳转到标签a
其实有个问题,应该适时跳出的,不然要等文件全部读取完,效率低了.自己改吧
sed -n ‘/comm/p’ /tmp/test.log
如果我们用一变量var,它的值根据上下文变化
$ var=”comm”,定义了变量,那么我们在sed的使用中这样使用变量
$ sed -n ‘/’”$var”‘/p’ /tmp/test.log
注意,是用单引号包含双引号来引用变量.
最初接触这个命令的人,可能以为$var之前的单引号会结束当前的script,其实不会.
若要在文本中匹配一个范围的话,可以使用的sed匹配
$ sed -n
‘/’”$var_start”‘/{p;:a;n;/’”$var_end”‘/p;ba}’ /tmp/test.log
-n 关闭sed的默认输出
/$var_start/ 当数据行中查找到字符串$var_start
时开始工作,后面的是命令组{}
p; 打印出$var_start 这一行
:a 定义一个标签,名称为a
n;
读取下一行
/$var_end/p; 当读入的这一行中查找到$var_end 字符串时,输出
ba 跳转到标签a
其实有个问题,应该适时跳出的,不然要等文件全部读取完,效率低了.自己改吧
如何在sed中使用变量
在一个函数中定义了一个变量,如何在另一个函数使用这个变量
matlab中如何使用标志数和符号变量
C语言中,如何定义一个变量,使其既可以在主函数中使用,也可以在子函数中使用
急用,在MATLAB中如何定义变量
如何在stata中 cluster 两个变量
如何用sed命令插入一个变量
在spss中可以使用哪些方法输入数据?对于缺失值,如何利用spss进行科学代替?在计算数据的加权平均数时,如何对变量进行
Linux中sed命令的使用? dog cat dog pig dog linux dog unix
设程序中不再定义和声明变量,写出在函数fun中可以使用的所有变量______.
linux sed 命令,sed -i 还有红线语句如何解答
求教如何使用Matlab编程时解决微分方程中变量替换问题?