分页: 2 / 2

Re: 请教高手如何用脚本批量修改同目录多个文件中的指定内容??

发表于 : 2012-05-17 23:47
枫叶饭团
用*号就行了

Re: 请教高手如何用脚本批量修改同目录多个文件中的指定内容??

发表于 : 2012-05-17 23:48
YeLee
用find吧。

Re: 请教高手如何用脚本批量修改同目录多个文件中的指定内容??

发表于 : 2012-05-17 23:51
Points
能写好不,小白不懂。。
:em06 麻烦呐

Re: 请教高手如何用脚本批量修改同目录多个文件中的指定内容??

发表于 : 2012-05-17 23:56
YeLee
一次次手工输入多简单啊。 :em04 :em04 :em04

Re: 请教高手如何用脚本批量修改同目录多个文件中的指定内容??

发表于 : 2012-05-17 23:59
Points
YeLee 写了:一次次手工输入多简单啊。 :em04 :em04 :em04
现在就是这么做的,不过想知道捷径以后类似的用的着呀。。 :em09

Re: 请教高手如何用脚本批量修改同目录多个文件中的指定内容??

发表于 : 2012-05-18 0:01
YeLee
直接在后面加星。 :em04 :em04 :em04

Re: 请教高手如何用脚本批量修改同目录多个文件中的指定内容??

发表于 : 2012-05-18 0:26
Points
YeLee 写了:直接在后面加星。 :em04 :em04 :em04
文件111

代码: 全选

[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

Re: 请教高手如何用脚本批量修改同目录多个文件中的指定内容??

发表于 : 2012-05-18 0:28
Points

代码: 全选

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
只出屏显。无文件操作

Re: 请教高手如何用脚本批量修改同目录多个文件中的指定内容??

发表于 : 2012-05-18 0:30
枫叶饭团
用我的py脚本。直接

代码: 全选

python3 script.py *
就对文件夹下所有文件操作了

Re: 请教高手如何用脚本批量修改同目录多个文件中的指定内容??

发表于 : 2012-05-18 1:04
lilydjwg
Points 写了:

代码: 全选

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
只出屏显。无文件操作

代码: 全选

sed -i ....

Re: 请教高手如何用脚本批量修改同目录多个文件中的指定内容??

发表于 : 2012-05-18 10:33
link_01
追加文本,脚本中用sed的 "a \"命令方便, :em04
自己在sed后面加 -i 参数,你只给了这么一点文本,错了不要怪我哦 :em09
[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]
…………………………
怎么问问题都像挤牙膏。