字符串使用linux管道进行仲裁

时间:2014-02-11 08:49:09

标签: linux shell

脚本:

env|grep JAVA_HOME|cat >>aa.txt

aa.txt将获得值:JAVA_HOME = ...
如何编写获取值的脚本:export JAVA_HOME = ...
这个脚本错了:

env|grep JAVA_HOME|cat 'export'$0>>aa.txt

3 个答案:

答案 0 :(得分:2)

您可以使用此命令获取所需的输出

 $ env | grep JAVA_HOME | sed 's/.*/export &/' | cat >> aa.txt

。*表示输出中的任何内容 &安培;代表。*。

的第一个字段中的所有字符

答案 1 :(得分:1)

对于一般情况,包括grep的多个匹配行的可能性以及您可能希望在每一行上执行复杂工作,您可以将管道提供给循环:

env | while read line; do echo "export ${line}"; done

或者,您可以使用sed

env | sed "s/^/ export/"

^表示行首。)

答案 2 :(得分:1)

您可以使用awk实用程序:

env|grep JAVA_HOME|awk '{print "export "$0;}'|cat >> aa.txt

$0 - 表示打印所有输入列(默认列分隔符为空格)