• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 297,  comments - 15,  trackbacks - 0
            1.關于文件對比的Scripts
            diff -b -r $Dir1 $Dir2 | grep -v "Common subdirectories" | grep -e "^diff" -e "^Binary files" -e "^Only"
            diff:
             -b  --ignore-space-change 
                          Ignore changes in the amount of white space.
             -r  --recursive
                          Recursively compare any subdirectories found.
            grep:
             -v, --invert-match
                          Invert the sense of matching, to select non-matching lines.
             -e PATTERN, --regexp=PATTERN
                          Use PATTERN as the pattern; useful to protect patterns beginning with -.

            2. grep的正則表達式:
            比如,要匹配兩個單詞:  word  exec
            grep -E "word|execl"  是可以得到正確結果的
            AND:
            grep -E "word&execl"  和預期的不一樣
            grep -E 'excel.*word|work.*excel'是可以的。
            注:正則表達式跟邏輯操作符是倆概念 , 只有awk支持||,&&這樣的操作,
            用grep的話, 也只支持|而不支持&。
            正則基礎:)
            $cat rfile
            abcd
            abc
            ab
            $grep -E 'abc.*' rfile
            abcd
            abc
            $grep -E 'abc*' rfile
            abcd
            abc
            ab

            3. 如何獲得一個文件的前N列或是其中的幾列?
            cut -f-2 -d ' ' filename
            -f field   -d dilimeter

            4.刪除某個目錄下不是以.sh .h .c結尾的文件
            find . -type f | awk '!/\.sh$/ && !/\.[c|h]$/{print $1}' | xargs rm

            5.原來用冒號分隔的,選出幾列來,改成用豎杠分隔的
            cat /etc/passwd | awk -F: '{print $1"|"$2"|"$3"|"$4}'

            6.去掉文件中的字符,比如去掉從win上傳到Linux上的文件時會有個^M,若去掉他可以用:
            tr -d '\015'  < filename

            7.目錄樹是
            A/B/C/
            A/B/C/ccc/...
            A/B/C/bbb/...
            A/B/C/D/aaa/...
            我現在在A下,我要查找html后綴文件, 但是不想它在包含aaa||bbb||ccc的目錄下查找.
            find . \( -name Input -o -name Output -o -name Current \) -type d -prune -o -name "*.htm" -print
            這個命令中的目錄排除沒有起作用,為什么嗯?很困惑。
            find . -wholename './A/B' -prune -o -print
            這個命令也不起作用,更困惑了,不認wholename

            8. 循環讀文件的命令
            for x in `seq 1 12`; do cat $x|awk '{print $9}' && sleep 3;done
            seq 是Linux 中一個預設的外部命令,一般用作一堆數字的簡化寫法,如
            seq 1 10
            便會出現
            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            它還有三個選項
              -f, --format=FORMAT      use printf style floating-point FORMAT (default: %g)
              -s, --separator=STRING   use STRING to separate numbers (default: \n)
              -w, --equal-width        equalize width by padding with leading zeroes
            -f 最常用 , 例如一次制做 10 個名 dir001 , dir002 .. dir010 的目錄,它便很有用途,我們可以這樣
            下一個命令便可了
            seq -f 'dir%03g' 1 10 | xargs mkdir

            mkdir $(seq -f 'dir%03g' 1 10)
            它用的是 printf 的格式 , %03g' 代表以三位浮點數,以此方法,
            如用bash3 的 printf也可作為等價命令
            printf 'dir%03d\n' {1..10} | xargs mkdir  或 mkdir `printf 'dir%03d ' {1..10}`
            awk 當然也可以
            awk 'BEGIN { while (num < 10 ) printf "dir%03d\n", ++num ; exit}' | xargs mkdir
            這樣會比寫一個腳本快, 不必寫成
            for dir in 001 002 003 004 005 006 007 008 009 010
            do
                mkdir dir${dir}
            done

            9.找出當前目錄下大于100M的目錄
            find . -maxdepth 1 -type d | xargs du -sh | grep -v '\.$'| grep -P '^\S+M\t' | awk -FM '$1>1'

            posted on 2009-11-08 11:19 chatler 閱讀(259) 評論(0)  編輯 收藏 引用 所屬分類: Shell
            <2009年4月>
            2930311234
            567891011
            12131415161718
            19202122232425
            262728293012
            3456789

            常用鏈接

            留言簿(10)

            隨筆分類(307)

            隨筆檔案(297)

            algorithm

            Books_Free_Online

            C++

            database

            Linux

            Linux shell

            linux socket

            misce

            • cloudward
            • 感覺這個博客還是不錯,雖然做的東西和我不大相關,覺得看看還是有好處的

            network

            OSS

            • Google Android
            • Android is a software stack for mobile devices that includes an operating system, middleware and key applications. This early look at the Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
            • os161 file list

            overall

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            国产精品99久久不卡| 久久婷婷五月综合国产尤物app| 久久亚洲AV成人无码国产| 91精品国产乱码久久久久久| 精品无码久久久久久久动漫| 亚洲精品无码久久久久去q| 26uuu久久五月天| 99精品国产综合久久久久五月天| 国产精品久久久久久久久| 欧美日韩精品久久久久| 色综合久久无码中文字幕| 久久久久亚洲AV无码专区网站| 精品久久久中文字幕人妻| 久久亚洲精品无码播放| 久久久久久久综合日本亚洲| 久久免费视频1| 国产精品99久久不卡| 久久精品9988| 久久综合精品国产二区无码| 中文字幕久久精品| 久久精品无码一区二区三区日韩 | 久久国产精品久久国产精品| 欧美亚洲国产精品久久高清| 狠狠色综合网站久久久久久久| 久久福利青草精品资源站| 波多野结衣中文字幕久久| 日韩精品久久无码人妻中文字幕| 香蕉久久夜色精品国产尤物| 久久天天躁狠狠躁夜夜不卡| 国内精品欧美久久精品| 国产福利电影一区二区三区久久老子无码午夜伦不 | 国产99久久久久久免费看| 国产麻豆精品久久一二三| 性高湖久久久久久久久| 亚洲AV无码成人网站久久精品大| 思思久久99热只有频精品66| 欧美一级久久久久久久大| 热综合一本伊人久久精品| 久久久久亚洲av成人网人人软件 | 久久影院综合精品| 国内精品久久久久|