`
xulu010
  • 浏览: 6558 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
有这样一个文件 1\t2 1\t3 3\t\t4 假设我们需要匹配第一行,即1\t2正常肯定是想这样 cat 1 | grep '1\t2' 然而并不行,因为,‘\t’里的\会被认为是转义字符,只能匹配到‘1t2’这样的字符串那要怎样匹配呢,两个方案 1.手动把制表符打出来 cat 1 | grep '1 2'  制表符的打法是ctrl-v + tab 2.使用$符号展开\t cat 1 | grep '1'$'\t''2' $符号在shell中是引用变量的意思,所以$‘\t’就是返回了一个展开的制表符 如果要匹配多个制表符,使用+号匹配即可 cat 1 | g ...
做多个目录下的文件的sed替换时发现效率太低,原命令如下: find $PATH -type f -exec sed -i "s/aaa/bbb/g" {} \; 但是由于单个目录下有8000+个文件,效率实在太低,而且多个目录,多个替换,整个耗时长达10+秒. 研究目录下文件结构发现,有很多jpg,gif,swf等文件,而且这些文件大小还不小,sed扫描时间很长,故希望能跳过这些文件.于是命令就变成这个样子: find $PATH -type f -name ".*\.\(jpg\|png\|swf\|psd\|JPG\)" -exec ...
Global site tag (gtag.js) - Google Analytics