码迷,mamicode.com
首页 > 其他好文 > 详细

grep相关的问题

时间:2014-06-22 23:47:11      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:使用   文件   os   问题   window   一个   

假若目前有一个windows下拷贝过来的文件 favorite_songs(喜欢的歌曲单,内部是 CRLF 结尾的),现在还有一个文件 music_list(内部包含所有歌曲的路径,非 CRLF 结尾),现在想将所有的 favorite songs 拷贝到一个单独的 favorite_dir 目录。可以使用下面的命令来完成:$cat favorite_songs | xargs -i grep {} music_list | xargs -i cp {} favorite_dir,但是运行时不会得到你所期望的结果,仔细调试便会发现 CRLF 在搞鬼,将其转换成 unix 下的 LF 结尾即可,转换的方法可以使用如下三种中的一种:

1. 使用命令dos2unix和unix2dos

2. 用vim打开输入命令::% s/\r//g

3. tr -d ‘\r‘ < dos-file.txt > UNIX-file.txt

此需求另外需要注意的问题是,windows下的文件名好多都包含空格的,可以使用 tr 命令将其转换为下划线以方便处理;另一个问题是 xargs 处理包含引号的文件名时也会出现问题,可以加 -0 参数,或者使用 $cat file | while read  的方式,或者彻底一点使用 tr 将文件改名。

grep相关的问题,布布扣,bubuko.com

grep相关的问题

标签:使用   文件   os   问题   window   一个   

原文地址:http://www.cnblogs.com/lian4187/p/3800046.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!