• Linux通过shell实现递归列目录及对文件的处理


    之前本子一直是windows 7和Linux双系统,后来把windows 7换成了windows xp,而xp的试用期过了之后,却再也进不了xp系统了。我记得windows 7就算过期后,至少系统还能进,只不过黑黑屏而已,但是xp却是直接连系统都不让进了。这让我很不爽,于是,一怒之下,在上周末把硬盘格了,全部换成ext分区,全部装上Linux。

    至于写这篇随笔的原因,和上篇随笔有点关系,在我把vim的一些插件从windows迁移过来时,在打开vim时很自然地报了E492: not an editor command: ^M的错误。因为插件中有dos格式的。

    我随便打开一个插件,发现就是dos格式的,如果人工把这些插件转换成unix格式的话。。。那我今天晚上又不用睡觉了。(PS:昨天晚上因为搞挂了一台机器直接导致我三点多才睡)

    记得Linux下有个dos2unix的小工具,但看了下文档,只支持文件格式的转换,不支持对目录的批量转换。。。

    好吧,那看来得自己写个shell脚本处理了,这对强大的shell来说只是个小case:

    #!/bin/bash

    function batch_convert() {
    for file in `ls $1`
    do
    if [ -d $1"/"$file ]
    then
    batch_convert $1"/"$file
    else
    dos2unix $1"/"$file
    #echo $1"/"$file
    fi
    done
    }

    batch_convert ~/.vim

    保存为sh,然后加上可执行属性,运行一下,整个.vim文件夹内的所有文件就都被转换好了。

    再打开vim,再也没有那烦人的E492: not an editor command: ^M错误了。

    GR的M$,非要搞另类。

  • 相关阅读:
    vuejs组件交互
    markdown table语法
    vue循环中的v-show
    apache跨域
    sublime text执行PHP代码
    PHP语法
    方法(method)和函数(function)有什么区别?
    PHP MVC单入口
    phpstudy部署thinkPHP
    MACD判断定背离,底背离
  • 原文地址:https://www.cnblogs.com/ini_always/p/2413023.html
Copyright © 2020-2023  润新知