全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
12
返回列表 发新帖
楼主: 查无此人
打印 上一主题 下一主题

50元求一shell或perl脚本

[复制链接]
11#
发表于 2017-1-7 01:23:23 | 只看该作者
读取a的条目,然后填充b模板生成对应的文件。b模板里面要替换的条目对应的行应该是不变的吧,那就手动写入要修改的位置
  1. #!/bin/bash
  2. a="$1" ##目标文件
  3. b="$2" ##模板

  4. #array=(1 2 3) 下面填入行数
  5. array=()  

  6. while read line
  7. do
  8.         filename="$line"
  9.         cp $b "$filename"
  10.         n=1
  11.         for i in ${array[*]}
  12.         do
  13.                 sed -i "${i}s/.*/${line}/" "$filename"
  14.         done
  15. done < $a
复制代码
12#
发表于 2017-1-7 01:28:18 | 只看该作者
保存为 xxx.pl, 然后执行 xxx.pl <a> <b>

  1. #!/usr/bin/perl

  2. use strict;
  3. my $src = $ARGV[0];
  4. my $tmplt = $ARGV[1];

  5. open _TEMPLATE_HNDL_, $tmplt or die $!;
  6. my $template = do { local $/=undef; <_TEMPLATE_HNDL_>; };  
  7. close _TEMPLATE_HNDL_;

  8. open _FILE_HNDL_, $src or die $!;
  9. while(<_FILE_HNDL_>) {
  10.     my $line = $_ =~ s/^\s+//gr;
  11.     $line =~ s/\s+$//g;

  12.     open _OUTPUT_HNDL_, ">$line";
  13.     print _OUTPUT_HNDL_ $template =~ s/\$\d+/\E$line/gr;
  14.     close _OUTPUT_HNDL_;
  15. }
  16. close _FILE_HNDL_;
复制代码
13#
 楼主| 发表于 2017-1-7 11:46:05 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
14#
 楼主| 发表于 2017-1-7 12:00:00 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-10-2 00:59 , Processed in 0.063046 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表