• <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.關(guān)于文件對比的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"  是可以得到正確結(jié)果的
            AND:
            grep -E "word&execl"  和預(yù)期的不一樣
            grep -E 'excel.*word|work.*excel'是可以的。
            注:正則表達式跟邏輯操作符是倆概念 , 只有awk支持||,&&這樣的操作,
            用grep的話, 也只支持|而不支持&。
            正則基礎(chǔ):)
            $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結(jié)尾的文件
            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/...
            我現(xiàn)在在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. 循環(huán)讀文件的命令
            for x in `seq 1 12`; do cat $x|awk '{print $9}' && sleep 3;done
            seq 是Linux 中一個預(yù)設(shè)的外部命令,一般用作一堆數(shù)字的簡化寫法,如
            seq 1 10
            便會出現(xiàn)
            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' 代表以三位浮點數(shù),以此方法,
            如用bash3 的 printf也可作為等價命令
            printf 'dir%03d\n' {1..10} | xargs mkdir  或 mkdir `printf 'dir%03d ' {1..10}`
            awk 當(dāng)然也可以
            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.找出當(dāng)前目錄下大于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 閱讀(253) 評論(0)  編輯 收藏 引用 所屬分類: Shell
            <2009年11月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            293012345

            常用鏈接

            留言簿(10)

            隨筆分類(307)

            隨筆檔案(297)

            algorithm

            Books_Free_Online

            C++

            database

            Linux

            Linux shell

            linux socket

            misce

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

            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

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            久久精品国产亚洲av日韩| 久久免费国产精品| 94久久国产乱子伦精品免费| 国内精品伊人久久久久网站| 中文精品99久久国产| 国产精品久久久久久久久鸭| 久久久久噜噜噜亚洲熟女综合| 久久综合九色综合网站| 国产成人精品白浆久久69| 青青久久精品国产免费看| 国产精品岛国久久久久| 久久久精品国产| 久久播电影网| 久久久精品人妻一区二区三区四| 久久久久亚洲爆乳少妇无| 69久久夜色精品国产69| 久久国产精品无| 国产精品福利一区二区久久| 久久精品国产男包| 久久久久无码中| 欧美一区二区精品久久| 日本人妻丰满熟妇久久久久久| 亚洲国产精品成人久久蜜臀 | 中文字幕精品久久| 青青青国产精品国产精品久久久久 | 国产美女久久久| 国产色综合久久无码有码| 久久久久久青草大香综合精品| 国产麻豆精品久久一二三| 嫩草伊人久久精品少妇AV| 精品久久久中文字幕人妻 | 精品999久久久久久中文字幕| 精品久久亚洲中文无码| 久久久久久综合网天天| 亚洲午夜久久久| 国产精品久久久久久五月尺| 亚洲欧美国产精品专区久久| 亚洲精品tv久久久久| 精品人妻伦九区久久AAA片69| 91亚洲国产成人久久精品| 青青草国产精品久久|