linux 如何使用sed 更改整个文件夹里面包含的文件的数据

我想写个脚本修改IP但是AutoethX这个文件夹总是被当成两个文件path=`lsAuto\eth*`#sed...path#这里相当于sedAuto和sedethX两... 我想写个脚本修改IP
但是 Auto ethX这个文件夹总是被当成两个文件
path=`ls Auto\ eth* `#
sed ... path #这里相当于sed Auto和sed ethX两个文件夹。。。
所以我干脆把整个文件夹的都替换的,实际上我本来也是要这么做,求大神解释
展开
 我来答
百度网友5311d79
2013-06-26 · TA获得超过1.9万个赞
知道大有可为答主
回答量:6356
采纳率:71%
帮助的人:3219万
展开全部
linux文件命名最好不要有空格。
如果有空格的话,将完整文件名用引号包含起来,如"Auto eth"或'Auto eth'。
for file in "Auto ethX"/*
do
sed ... "$file"
done

如果X是不确定的,那么可以用 "Auto eth"*/*
hqxz556
2013-06-28 · TA获得超过2831个赞
知道大有可为答主
回答量:1686
采纳率:93%
帮助的人:576万
展开全部
经过 path=... 这部,你的 $path 就已经是那个文件夹里的内容了。
后面 sed 那部应该用 "$path" 不然,是先替换再分析命令行执行,空格就有语法意义了。

xiehuahere 演示的方法更好一些。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式