加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

find命令查找处理空格

(2018-09-12 16:35:17)
标签:

杂谈

分类: linux
问题:登陆一台Linux 需要查找文件要对文件名拼接执行的操作系统命令
例一:
  • 首先创建测试的文件
1.[wenxiao@ntceshi ~]$ touch {win.txt,unix.txt,linux.txt,mac.txt}
2.[wenxiao@ntceshi ~]$ touch {"win  .txt","unix  .txt","linux  .txt","mac  .txt"}
3.[wenxiao@ntceshi ~]$ touch {"新建文本文档.txt","新建文本文档 (2).txt","新建文本文档 (3).txt","新建文本文档 (4).txt"}
1.中创建了四个普通的文件,文件名不带空格,
2.中创建了四个普通的文件,文件名去拿不都带有空格,
3.创建了windowns四个中文文件名有空格和括号的文件名
  • 使用find 处理
使用ifnd命令查找这些文件,然后执行ls -l 查看详细信息

示例如下:
find  . -maxdepth 1 -type f  | xargs ls -l 
命令解释:在当前目录查找类型为常规文件,不加(-maxdepth 1,此参数仅适用于linux )此参数默认递归所有目录。
执行如下:
[wenxiao@ntceshi test]$ find  . -maxdepth 1 -type f  | xargs ls -l 
ls: cannot access ./win: No such file or directory
ls: cannot access .txt: No such file or directory
ls: cannot access ./linux: No such file or directory
ls: cannot access .txt: No such file or directory
ls: cannot access ./新建文本文档: No such file or directory
ls: cannot access (4).txt: No such file or directory
ls: cannot access ./unix: No such file or directory
ls: cannot access .txt: No such file or directory
ls: cannot access ./新建文本文档: No such file or directory
ls: cannot access (2).txt: No such file or directory
ls: cannot access ./mac: No such file or directory
ls: cannot access .txt: No such file or directory
ls: cannot access ./新建文本文档: No such file or directory
ls: cannot access (3).txt: No such file or directory
-rw-rw-r-- 1 wenxiao wenxiao 0 Sep 12 12:19 ./linux001.txt
-rw-rw-r-- 1 wenxiao wenxiao 0 Sep 12 12:20 ./linux.txt
-rw-rw-r-- 1 wenxiao wenxiao 0 Sep 12 12:20 ./mac.txt
-rw-rw-r-- 1 wenxiao wenxiao 0 Sep 12 12:20 ./unix.txt
-rw-rw-r-- 1 wenxiao wenxiao 0 Sep 12 12:20 ./win.txt
-rw-rw-r-- 1 wenxiao wenxiao 0 Sep 12 12:25 ./新建文本文档.txt

因为空格的原因会导致ls 执行失败
解决办法:

使用 find  . -maxdepth 1 -type f  -print0  | xargs  -0 ls -l 

[wenxiao@ntceshi test]$ find  . -maxdepth 1 -type f  -print0  | xargs  -0 ls -l 
-rw-rw-r-- 1 wenxiao wenxiao 0 Sep 12 12:19 ./linux001.txt
-rw-rw-r-- 1 wenxiao wenxiao 0 Sep 12 12:20 ./linux  .txt
-rw-rw-r-- 1 wenxiao wenxiao 0 Sep 12 12:20 ./linux.txt
-rw-rw-r-- 1 wenxiao wenxiao 0 Sep 12 12:20 ./mac  .txt
-rw-rw-r-- 1 wenxiao wenxiao 0 Sep 12 12:20 ./mac.txt
-rw-rw-r-- 1 wenxiao wenxiao 0 Sep 12 12:20 ./unix  .txt
-rw-rw-r-- 1 wenxiao wenxiao 0 Sep 12 12:20 ./unix.txt
-rw-rw-r-- 1 wenxiao wenxiao 0 Sep 12 12:20 ./win  .txt
-rw-rw-r-- 1 wenxiao wenxiao 0 Sep 12 12:20 ./win.txt
-rw-rw-r-- 1 wenxiao wenxiao 0 Sep 12 12:25 ./新建文本文档 (2).txt
-rw-rw-r-- 1 wenxiao wenxiao 0 Sep 12 12:25 ./新建文本文档 (3).txt
-rw-rw-r-- 1 wenxiao wenxiao 0 Sep 12 12:25 ./新建文本文档 (4).txt
-rw-rw-r-- 1 wenxiao wenxiao 0 Sep 12 12:25 ./新建文本文档.txt
[wenxiao@ntceshi test]$ 

或者  find  . -maxdepth 1 -type f -exec ls -l {} \; 

[wenxiao@ntceshi test]$ find  . -maxdepth 1 -type f -exec ls -l {} \;
-rw-rw-r-- 1 wenxiao wenxiao 0 Sep 12 12:20 ./win  .txt
-rw-rw-r-- 1 wenxiao wenxiao 0 Sep 12 12:20 ./mac.txt
-rw-rw-r-- 1 wenxiao wenxiao 0 Sep 12 12:20 ./unix.txt
-rw-rw-r-- 1 wenxiao wenxiao 0 Sep 12 12:20 ./win.txt
-rw-rw-r-- 1 wenxiao wenxiao 0 Sep 12 12:19 ./linux001.txt
-rw-rw-r-- 1 wenxiao wenxiao 0 Sep 12 12:20 ./linux  .txt
-rw-rw-r-- 1 wenxiao wenxiao 0 Sep 12 12:20 ./linux.txt
-rw-rw-r-- 1 wenxiao wenxiao 0 Sep 12 12:25 ./新建文本文档 (4).txt
-rw-rw-r-- 1 wenxiao wenxiao 0 Sep 12 12:20 ./unix  .txt
-rw-rw-r-- 1 wenxiao wenxiao 0 Sep 12 12:25 ./新建文本文档 (2).txt
-rw-rw-r-- 1 wenxiao wenxiao 0 Sep 12 12:25 ./新建文本文档.txt
-rw-rw-r-- 1 wenxiao wenxiao 0 Sep 12 12:20 ./mac  .txt
-rw-rw-r-- 1 wenxiao wenxiao 0 Sep 12 12:25 ./新建文本文档 (3).txt
[wenxiao@ntceshi test]$ 





0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有