unix shell 变量连接中如何定义变量获得 find出来的数据?

深入 Shell 变量操作_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
深入 Shell 变量操作
阅读已结束,下载文档到电脑
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩1页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
白手起家, 积分 18, 距离下一级还需 182 积分
论坛徽章:0
今天想用find命令查找一些文件然后统计,发现查找文件含变量不好弄,大侠们帮看看:
files内容:
rpt_adgroup_bidword_d
rpt_adgroup_bidword_top_d
rpt_adgroup_d
tables=(`cat files|sed 's/.\{12\}$//g'`)
for i in ${tables[@]}
find /home/test/ -name&&&${i}*&
这样的话 一直也查找不出内容
如果使用find /home/test/ -name&&&rpt_adgroup_bidword_d*& ,是有内容的
&${i}*& 这个好像有问题 求帮助啊
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
论坛徽章:115
elitist1234
it works fine on RHEL
Note: /bin/sh link to /bin/bash by default on RHEL
# cat find.sh
tables=(`cat files|sed 's/.\{12\}$//g'`)
for i in ${tables[@]}
&&find tmp -name&&&${i}*&
# cat files
rpt_adgroup_bidword_d
rpt_adgroup_bidword_top_d
rpt_adgroup_d
rpt_adgroup_bidword_d1&&rpt_adgroup_bidword_top_d1&&rpt_adgroup_d1
rpt_adgroup_bidword_d2&&rpt_adgroup_bidword_top_d2&&rpt_adgroup_d2
rpt_adgroup_bidword_d3&&rpt_adgroup_bidword_top_d3&&rpt_adgroup_d3
# ./find.sh
tmp/rpt_adgroup_bidword_d3
tmp/rpt_adgroup_bidword_d1
tmp/rpt_adgroup_bidword_d2
tmp/rpt_adgroup_bidword_top_d1
tmp/rpt_adgroup_bidword_top_d2
tmp/rpt_adgroup_bidword_top_d3
tmp/rpt_adgroup_d3
tmp/rpt_adgroup_d2
tmp/rpt_adgroup_d1
家境小康, 积分 1430, 距离下一级还需 570 积分
论坛徽章:0
elitist1234
我不知道你的操作系统所使用的shell
tables=(`cat ***`)
如果你确定for i in ${tables[@]}
的每个$i确实正确
这样做至少可以排除find出意外的可能性
eval find $yourpath -name \&${i}*\&
白手起家, 积分 18, 距离下一级还需 182 积分
论坛徽章:0
系统支持的,echo出每个数组的值是正确的
runintostar
富甲一方, 积分 48553, 距离下一级还需 1447 积分
论坛徽章:32
你这个脚本在我这里运行也没问题,你将ls /home/test/的结果贴出来看一下~
白手起家, 积分 18, 距离下一级还需 182 积分
论坛徽章:0
有9000个文件,类似这样的:
rpt_adgroup_bidword_d.0000
rpt_adgroup_bidword_top_d.0010
rpt_adgroup_d.2230
我直接如下代码也不行:
for i in `cat $conf/*|sed 's/.\{12\}$//g'`
find $local/$yday -name '$i*'
只要改成:
for i in `cat $conf/*|sed 's/.\{12\}$//g'`
find $local/$yday -name 'rpt_adgroup_bidword_d*'
里面能查查几千个
整蒙了把我
yestreenstars
白手起家, 积分 18, 距离下一级还需 182 积分
论坛徽章:0
这个bash版本
GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu)
论坛徽章:115
elitist1234
they are different between 'xxx' and &xxx& when the xxx include variable
find $local/$yday -name '$i*'
find /home/test/ -name&&&${i}*&
白手起家, 积分 18, 距离下一级还需 182 积分
论坛徽章:0
或者不用find了,我们这个目录很深直接ls的话会提示:Argument list too long,有什么办法么
用ls |grep xxx 也行
白手起家, 积分 18, 距离下一级还需 182 积分
论坛徽章:0
或者不用find了,我们这个目录很深直接ls的话会提示:Argument list too long,有什么办法么
用ls |grep xxx 也行

我要回帖

更多关于 shell 变量连接 的文章

 

随机推荐