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”
有什么理由吗?