Yige

Yige

Build

シェルスクリプトの基礎

シェルスクリプトの基礎#

シェルスクリプトデバッグ#

-n、スクリプト内のコマンドを一度読み取るが実行しない。スクリプト内の構文エラーをチェックするために使用。
-v、スクリプトを実行しながら、実行されたスクリプトコマンドを標準エラー出力に印刷する。
-x、実行情報をトレースし、実行された各コマンドと結果を順に印刷する。

シェルスクリプトでテキスト中の無秩序な列の数字をソート#

[root@server ~]# sort -n 190307.txt | awk '{a+=$0;print$0} END {print "sum="a}'

シェルコマンドでファイルの空行行番号を確認#

[root@server ~]# grep -n ^$ filename
[root@server ~]# sed -n '/[a-zA-Z0-9@#$%^&*]!=' filename
[root@server ~]# sed -n '/^$/=' filename
[root@server ~]# awk '/^$/{print NR}' filename

シェルフォルダ操作#

  1. フォルダ内のすべてのファイルを削除するが、フォルダ自体は削除しない
[root@server-ai ~]# find . -type f | xargs rm -f
  1. ディレクトリの構造のみをコピーし、ディレクトリの内容はコピーしない
[root@server-ai ~]# find ~ -type d -exec mkdir -p demo/\{\} \;
  1. 現在のフォルダ内のすべてのテキストファイルの内容に「math」という文字が含まれているファイル名を探す
[root@server-ai ~]# grep -r "math" /home/chenjiawei/test/shell/ | cut -d ":" -f 1
  1. ディレクトリおよびそのサブディレクトリ内のすべてのファイルを遍歴する

    #! /bin/bash
    function read_dir(){
        for file in `ls $1`       #注意:ここでは二つのバッククォートを使用して、システムコマンドを実行する
        do
            if [ -d $1"/"$file ]  #注意:ここでは必ずスペースを入れる必要があり、そうしないとエラーが出る
            then
                read_dir $1"/"$file
            else
                echo $1"/"$file   #ここでファイルを処理する
            fi
        done
    }
    #最初の引数を読み取る
    read_dir $1
    

    コマンドを実行

    $ sh traveDir.sh DIR_NAME
    
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。