Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 将文件中的字符串替换为同一文件中的字符串_String_Bash_Replace_Sed - Fatal编程技术网

String 将文件中的字符串替换为同一文件中的字符串

String 将文件中的字符串替换为同一文件中的字符串,string,bash,replace,sed,String,Bash,Replace,Sed,我有这样一个文件(数十个变量): 我需要一个脚本,它将变量输出到另一个类似这样的文件中(它们之间有空格): 有可能吗?我想说: $ awk -F= '{printf "%s=${%s} ", $1,$1} END {print ""}' file PLAY=${PLAY} APPS=${APPS} LD_FILER=${LD_FILER} DATA_LOG=${DATA_LOG} 这将在文件中循环并以var=${var}格式打印=之前的内容以及空格。最后,它会打印一条新行 注意,这会在行的末

我有这样一个文件(数十个变量):

我需要一个脚本,它将变量输出到另一个类似这样的文件中(它们之间有空格):

有可能吗?

我想说:

$ awk -F= '{printf "%s=${%s} ", $1,$1} END {print ""}' file
PLAY=${PLAY} APPS=${APPS} LD_FILER=${LD_FILER} DATA_LOG=${DATA_LOG} 
这将在文件中循环并以
var=${var}
格式打印
=
之前的内容以及空格。最后,它会打印一条新行

注意,这会在行的末尾留下一个尾随空格。如果这很重要,我们可以检查如何改进它。

我想说:

$ awk -F= '{printf "%s=${%s} ", $1,$1} END {print ""}' file
PLAY=${PLAY} APPS=${APPS} LD_FILER=${LD_FILER} DATA_LOG=${DATA_LOG} 
< input sed -e 's/\(.*\)=.*/\1=${\1}/' | tr \\n \ ; echo
这将在文件中循环并以
var=${var}
格式打印
=
之前的内容以及空格。最后,它会打印一条新行

注意,这会在行的末尾留下一个尾随空格。如果这很重要,我们可以检查如何改进它;回声
< input sed -e 's/\(.*\)=.*/\1=${\1}/' | tr \\n \ ; echo
您的示例不包括最后一行,因此如果这很重要

sed '/DATA_LOG=/ d
   s/"\([^"]*"\)"/={\1}/;H;$!d
   x;y/\n/ /;s/.//' YourFile
您的示例不包括最后一行,因此如果这很重要

sed '/DATA_LOG=/ d
   s/"\([^"]*"\)"/={\1}/;H;$!d
   x;y/\n/ /;s/.//' YourFile

有趣的表情。用
tr\\n\
代替[more readable]
tr“\n”“
”的任何理由?有趣的表达方式。用
tr\\n\
代替[more readable]
tr“\n”
有什么理由吗?