Linux下利用shell脚本批量产生内容有规律变化的文件

文章目录

    • 前言
    • 程序
    • 结果

前言

有时我们需要批量产生一些有规律变化的设置或配置文件。此时我们可以借助shell编程,批量产生。程序可去我的GitHub网站下载

程序

例如我们有一个 demo.temp 文件其内容格式如下:

guihun
learn shell
learn github

PROGRAM_LENGTH : _LENGTH_
PROGRAM_SIZE : _SIZE_
PROGRAM_NAME : _NAME_

我们想批量替换其中的“_LENGTH_”, “_SIZE_”, “_NAME_”。并将替换内容后的文件以不同的文件名表示。

(1) “_NAME_” 关键词会替换成如下 list 文件里的名字:

file_one
file_two

(2) “_LENGTH_” 关键词会依次替换成 5.0 6.0 7.0
(3) “_SIZE_” 关键词会依次替换成 2 3

则shell程序 test.sh 如下:

#!/bin/csh 
foreach element (`cat list`)
  echo $element
  foreach size(2 3)
    foreach length(5.0 6.0 7.0)
      set filename = "option_name_${element}_size_${size}_length_${length}"
      echo "file name is : " $filename
      cp demo.temp $filename 
      sed -i "" "s/_SIZE_/$size/" $filename
      sed -i "" "s/_LENGTH_/$length/" $filename 
      sed -i "" "s/_NAME_/$element/" $filename 
      
	  echo ${filename} 
    end
  end
end

结果

执行 source test.sh 命令,则会在当前文件夹产生如下文件:
Linux下利用shell脚本批量产生内容有规律变化的文件_第1张图片

我们随机打开 option_name_file_one_size_3_length_6.0 文件,其内容为:
Linux下利用shell脚本批量产生内容有规律变化的文件_第2张图片

你可能感兴趣的:(Linux,linux,shell)