请教高手如何用脚本批量修改同目录多个文件中的指定内容??
- 枫叶饭团
- 帖子: 14683
- 注册时间: 2010-06-16 1:05
- 系统: Mac OS X
- 来自: Tencent
- 联系:
- YeLee
- 论坛版主
- 帖子: 26406
- 注册时间: 2008-08-13 8:48
- 系统: Fundu i64
- 来自: 东海硇州,一双管钥。
- 联系:
Re: 请教高手如何用脚本批量修改同目录多个文件中的指定内容??
用find吧。
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
-
- 帖子: 83
- 注册时间: 2010-02-19 16:13
Re: 请教高手如何用脚本批量修改同目录多个文件中的指定内容??
能写好不,小白不懂。。
麻烦呐

- YeLee
- 论坛版主
- 帖子: 26406
- 注册时间: 2008-08-13 8:48
- 系统: Fundu i64
- 来自: 东海硇州,一双管钥。
- 联系:
Re: 请教高手如何用脚本批量修改同目录多个文件中的指定内容??
一次次手工输入多简单啊。




◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
-
- 帖子: 83
- 注册时间: 2010-02-19 16:13
Re: 请教高手如何用脚本批量修改同目录多个文件中的指定内容??
现在就是这么做的,不过想知道捷径以后类似的用的着呀。。YeLee 写了:一次次手工输入多简单啊。![]()
![]()

- YeLee
- 论坛版主
- 帖子: 26406
- 注册时间: 2008-08-13 8:48
- 系统: Fundu i64
- 来自: 东海硇州,一双管钥。
- 联系:
Re: 请教高手如何用脚本批量修改同目录多个文件中的指定内容??
直接在后面加星。




◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
-
- 帖子: 83
- 注册时间: 2010-02-19 16:13
Re: 请教高手如何用脚本批量修改同目录多个文件中的指定内容??
文件111YeLee 写了:直接在后面加星。![]()
![]()
代码: 全选
[connection]
id=
uuid=
type=802-11-wireless
[ipv4]
method=auto
[ipv6]
method=auto
代码: 全选
sed -e 's/\(type=802-11-wireless\)$/\1\nautoconnect=false/g' -e 's/\(method=auto\)/\1\ndns=8.8.8.8;208.67.222.222;8.8.4.4;208.67.220.220;\nignore-auto-dns=true/g' 111 > 222
代码: 全选
sed -e 's/\(type=802-11-wireless\)$/\1\nautoconnect=false/g' -e 's/\([ipv4]\)/\1\method=auto\ndns=8.8.8.8;208.67.222.222;8.8.4.4;208.67.220.220;\nignore-auto-dns=true/g' 111 >222
代码: 全选
[connection]
id=
uuid=
type=802-11-wireless
autoconnect=false
[ipv4]
method=auto
dns=8.8.8.8;208.67.222.222;8.8.4.4;208.67.220.220;
ignore-auto-dns=true
[ipv6]
method=auto
[color=#FF0000]dns=8.8.8.8;208.67.222.222;8.8.4.4;208.67.220.220;
ignore-auto-dns=true[/color]
代码: 全选
[connectimethod=auto
dns=8.8.8.8;208.67.222.222;8.8.4.4;208.67.220.220;
ignore-auto-dns=trueon]
imethod=auto
dns=8.8.8.8;208.67.222.222;8.8.4.4;208.67.220.220;
ignore-auto-dns=trued=
uuimethod=auto
dns=8.8.8.8;208.67.222.222;8.8.4.4;208.67.220.220;
ignore-auto-dns=trued=
typmethod=auto
dns=8.8.8.8;208.67.222.222;8.8.4.4;208.67.220.220;
ignore-auto-dns=truee=802-11-wimethod=auto
dns=8.8.8.8;208.67.222.222;8.8.4.4;208.67.220.220;
ignore-auto-dns=truereless
autoconnect=false
[imethod=auto
dns=8.8.8.8;208.67.222.222;8.8.4.4;208.67.220.220;
ignore-auto-dns=truepmethod=auto
dns=8.8.8.8;208.67.222.222;8.8.4.4;208.67.220.220;
ignore-auto-dns=truevmethod=auto
dns=8.8.8.8;208.67.222.222;8.8.4.4;208.67.220.220;
ignore-auto-dns=true4method=auto
dns=8.8.8.8;208.67.222.222;8.8.4.4;208.67.220.220;
ignore-auto-dns=true]
method=auto
[imethod=auto
dns=8.8.8.8;208.67.222.222;8.8.4.4;208.67.220.220;
ignore-auto-dns=truepmethod=auto
dns=8.8.8.8;208.67.222.222;8.8.4.4;208.67.220.220;
ignore-auto-dns=truevmethod=auto
dns=8.8.8.8;208.67.222.222;8.8.4.4;208.67.220.220;
ignore-auto-dns=true6]
method=auto
-
- 帖子: 83
- 注册时间: 2010-02-19 16:13
Re: 请教高手如何用脚本批量修改同目录多个文件中的指定内容??
代码: 全选
sed -e 's/\(type=802-11-wireless\)$/\1\nautoconnect=false/g' -e 's/\([ipv4]\)/\1\method=auto\ndns=8.8.8.8;208.67.222.222;8.8.4.4;208.67.220.220;\nignore-auto-dns=true/g' 111
- 枫叶饭团
- 帖子: 14683
- 注册时间: 2010-06-16 1:05
- 系统: Mac OS X
- 来自: Tencent
- 联系:
Re: 请教高手如何用脚本批量修改同目录多个文件中的指定内容??
用我的py脚本。直接就对文件夹下所有文件操作了
代码: 全选
python3 script.py *
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: 请教高手如何用脚本批量修改同目录多个文件中的指定内容??
- link_01
- 帖子: 1024
- 注册时间: 2008-11-05 13:24
Re: 请教高手如何用脚本批量修改同目录多个文件中的指定内容??
追加文本,脚本中用sed的 "a \"命令方便,
自己在sed后面加 -i 参数,你只给了这么一点文本,错了不要怪我哦
[bash]#!/bin/sh
files="123 223 333 444"
for file in $files; do
echo "----- $file -----"
sed '1,/\[ipv6\]/{
/type=802-11/a \
authoconnect=false
/method=auto/a \
dns=8.8.8.8;208.67.222.222;8.8.4.4;208.67.220.220; \
ignore-auto-dns=true
}' $file
done
[/bash]
…………………………
怎么问问题都像挤牙膏。

自己在sed后面加 -i 参数,你只给了这么一点文本,错了不要怪我哦

[bash]#!/bin/sh
files="123 223 333 444"
for file in $files; do
echo "----- $file -----"
sed '1,/\[ipv6\]/{
/type=802-11/a \
authoconnect=false
/method=auto/a \
dns=8.8.8.8;208.67.222.222;8.8.4.4;208.67.220.220; \
ignore-auto-dns=true
}' $file
done
[/bash]
…………………………
怎么问问题都像挤牙膏。
笔记
-------------------------------------
http://blog.163.com/wqt_1101
-------------------------------------
http://blog.163.com/wqt_1101