Linux find 查找文件

在日志文件夹下判断是否有web服务器的日志文件夹,写了个脚本:

 #!/bin/bash
cd /wls/annuity_acc
for sys in `cat ./WIIServer_name_list.txt`
do
#find /logs/$sys* -name "$sys*" |xargs echo -en '\n' >> 123.txt

 find /logs/$sys* -name "$sys*" -print
done

#find /logs/$sys* -name "$sys*" |xargs echo -en '\n' >> 123.txt

输出到123.txt,但是如果有多个匹配的情况会出现不换行的情况,如:

ABBSWII6758  ABBSWII6759  ABBSWII6760

annWII3454

gbsWII9876   
想要以下格式输出到文本:

ABBSWII6758  

ABBSWII6759 

 ABBSWII6760

annWII3454

gbsWII9876 

只想到用-print方法

===============mark   2012-05-04=============

#find /logs/$sys* -name "$sys*" -exec ls -l {} \; >> 123.txt

可以得到列表效果
 

=============find -perm查找  多路径=============

这两天碰到一个查找某一路径下的非777的mdl文件,可以用以下来实现:

find /pamis/data5/cognos/createcubes8/*/mdl -name "*.mdl" -type f |xargs ls -l |grep -v rwx
find /pamis/data5/cognos/createcubes8/*/mdl -name "*.mdl" -type f ! -perm 777 -exec ls -l {} \;

以上两种得到的效果是一样的,但是如果要将得到的结果做为输入流传给&2,可能两者会有差别

find后面的路径支持多个,但是要以空格隔开,并且路径支持*?[1-9]这样的正则表达式:如下:

find /pamis/data5/cognos/createcubes8/*/mdl/[e,g,i,n,p][h,b,o,e][i,s,c,w,t,n]* -name "*.mdl" -type f ! -perm 777 -exec ls -l {} \; >&2

=========find -regex正则表达式查找  多路径===========

find /home/panzhaobo -name "*.pl" -type f ! -perm 777 -exec ls -l {} \;|xargs echo "" > testmdl.log

find -regex '/home/panzhaobo/.*\.pl' -type f ! -perm 777 -exec ls -l {} \;

上面的-regex是正则表达式后面的参数是带全路径的name

 

Linux中,find命令用于查找文件和目录。它是一个非常有用的工具,可以根据不同的条件来搜索文件。与grep命令不同,find命令可以递归地搜索整个文件系统。 要使用find命令查找文件,可以使用以下语法: ``` find <路径> <选项> <表达式> ``` 其中,路径指定要搜索的目录或文件,选项用于指定搜索的条件,表达式用于指定要执行的操作。 以下是一些常用的选项和表达式: - `-amin -10`:查找在系统中最后10分钟内被访问过的文件。 - `-atime -2`:查找在系统中最后48小时内被访问过的文件。 - `-empty`:查找在系统中为空的文件或文件夹。 - `-group cat`:查找属于group为cat的文件。 - `-mmin -5`:查找在系统中最后5分钟内被修改过的文件。 - `-mtime -1`:查找在系统中最后24小时内被修改过的文件。 - `-user fred`:查找属于用户fred的文件。 - `-size 10000c`:查找大于10000000字节的文件(c表示字节,w表示双字,k表示KB,M表示MB,G表示GB)。 - `-size -1000k`:查找小于1000KB的文件。 请根据您的需求选择合适的选项和表达式来使用find命令进行文件查找。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [linux下快速查找文件](https://blog.youkuaiyun.com/weixin_42199791/article/details/108726422)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Linux命令之查找文件find](https://blog.youkuaiyun.com/cnds123321/article/details/124970979)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值