linux(10)文字変換

2791 ワード

tr
メッセージのテキストを削除し、テキスト情報の置換を行います.
tr [-ds] SET1
  • -d:削除情報におけるSET 1という文字列
  • -s:重複する文字を置き換えます.
  • last | tr '[a-z]' '[A-Z]'
    

    小文字を大文字に変換
    cat /etc/passwd | tr -d ':'
    

    ':'を削除
    OS間のファイル改行変換unix2dos filename変換ファイル改行方式windowタイプdos2unix filename変換ファイル改行方式unixタイプ
    col特殊文字の処理
    col [-xb]
  • -x:tabを対等の空白キー
  • に変換する.
    cat -A /etc/passwd | col -x
    

    「^l」ではなく「tab」を対等な空白キーとして表す
    joinは2つのファイルに同じデータがある行を処理します.
    join [-ti12] file1 file2
  • -t:joinはデフォルトで空白文字でデータを区切る、最初のフィールドのデータと比較し、2つのファイルが同じであれば、2つのデータを1行に結合し、最初のフィールドを最初のフィールドに配置する.
  • -i:大文字と小文字の違いを無視
  • -1:数字1、「最初のファイルはそのフィールドで分析する」という意味
  • -i:「2番目のファイルはそのフィールドで分析する」という意味
  • 以下に、少し複雑な例を示します.
    head -n 3 /etc/passwd /etc/group
    

    出力は次のとおりです.
    root:x:0:0:root:/root:/bin/zsh
    daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
    bin:x:2:2:bin:/bin:/usr/sbin/nologin
    
    ==> /etc/group <==
    root:x:0:
    daemon:x:1:
    bin:x:2:
    

    /etc/passwdのGIDは第4項、/etc/groupの第3項で、どのように彼らを結合するかを見ることができます.
    join -t  ':' -1 4 /etc/passwd -2 3 /etc/group | head -n 3
    

    出力はこうです
    0:root:x:0:root:/root:/bin/zsh:root:x:
    1:daemon:x:1:daemon:/usr/sbin:/usr/sbin/nologin:daemon:x:
    2:bin:x:2:bin:/bin:/usr/sbin/nologin:bin:x:
    

    past joinの簡略化版で、直接2行を1つに貼ってtabで隔てます
    past [-d] file1 file2
  • -d:区切り文字が後に続く.デフォルトはtabで
  • -:file部分が-と書く場合、標準入力のデータ
  • を表す.
    eg
    まずcatで/etc/groupを読み出し、/etc/group/etc/shadowと標準入力を貼り付けて、最初の3行だけ取り出します
    cat /etc/group | paste /etc/group /etc/shadow - | head -n 3
    

    expandは[tab]を空白キーに変換するために使用されます
    expand [-t] file
  • -t:後に数字を付けて、1つの[tab]がどれだけの空白の文字で
  • を表します
    split大ファイルを小ファイルに分割
    split [-bl] file PREFIX
  • -b:後で分割したいファイルの大きさにつながって、単位を加えることができて、b,k,m...
  • -l:行数でパーティション化
  • サービスを300 kbサイズに分割
    split -b 300k /etc/services services
    

    分割されたファイルの名前をservicesaa servicesab....を選択します.
    分割ファイルのマージ(これに限定されません)
    cat services* >> servicesback
    

    xargsは、標準入力をパラメータに切断し、必要なコマンドに転送するために使用されます.
    xargs [-0epn] command
  • -0:stdinに特殊文字がある場合は、
  • を復元します.
  • -e:eof、終了を表す文字(列)
  • が続く
  • -p:各命令を実行するargumentは、利用者
  • に問い合わせる.
  • -n:後接回数、一度にいくつかのパラメータを使用することを示す
  • /etc/passwdの第1項を取り出し、3行を取り、idコマンドを使用してクエリーする
    cut -d ':' -f 1 /etc/passwd | head -n 3 | xargs -n 1 id
    
  • CRLF:折り返し(CR,ASCII 13,r)改行(LF,ASCII 10,).
  • の2つのACSII文字は画面に出力されませんが、Windowsでは行の終了を識別するために広く使用されています.Linux/UNIXシステムでは改行のみが使用されます.
  • stdinまたはstdoutが必要な場合は、
  • の代わりに-を使用できます.