MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
Linuxコマンド - cutのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
Linuxコマンド - cut
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == cutコマンドとは、ファイルを読み込み、それぞれの行から指定した部分だけを切り出すコマンドである。<br> ファイルを指定しない場合は、標準入力から受け取った内容を処理する。<br> <br> 例えば、"3文字目から10文字目"を取り出したり、タブ等で区切られたファイルから1番目のフィールドと3番目のフィールドと取り出すことができる。<br> <br><br> == cutコマンドのオプション == cutコマンドのオプションは、下表の通りである。<br> <br> <center> {| class="wikitable" |+ その他のオプション |- ! オプション名 !! 意味 |- | -d <区切り文字><br>--delimiter=<区切り文字> || フィールドの区切り文字として、<br>タブの代わりに使用する区切り文字を指定する。(1文字のみ) |- | --output-delimiter=文字列 || 出力の区切り文字として使用する文字列を指定する。<br>(1文字以上が使用可能。デフォルトでは入力の区切り文字を使用) |- | -s<br>--only-delimited || 区切り文字を含まない行を出力しない。 |- | --complement || 出力指定した箇所以外を出力する。 |} </center> <br> <center> {| class="wikitable" |+ 出力指定オプション(いずれか1つを必ず指定) |- ! オプション !! 意味 |- | -b <出力リスト><br>--bytes=<出力リスト> || 切り出す位置のリストをバイト数で指定する。 |- | -c <出力リスト><br>--characters=<出力リスト> || 切り出す位置のリストを文字数で指定する。 |- | -f <出力リスト><br>--fields=<出力リスト> || 切り出す位置のリストをタブ区切りのフィールドで指定する。<br>区切り文字は、-dオプションで変更可能) |} </center> <br> <center> {| class="wikitable" |+ 出力リストの指定方法 |- ! 指定方法 !! 意味 |- | N || N番目のバイト、文字、フィールド(先頭のフィールド番号を1とする) |- | N-M || N番目からM番目まで |- | N- || N番目から行末まで |- | -M || 先頭からM番目まで |} </center> <br><br> == 文字数を指定して切り出す == cutコマンドは、ファイルまたは標準入力から受け取った内容に対して、各行から指定した部分だけを出力する。<br> N文字目からM文字目、先頭からN文字目、N文字目以降等の指定ができる。<br> <br> 以下の例では、ファイルから各行の先頭10文字のみ出力する場合、以下のようなコマンドとなる。<br> # バイト単位での指定 cut -b 1-10 <ファイル名> # 文字数での指定 cut -c 1-10 <ファイル名> <br> <u>※注意点</u><br> <u>Shift JISやEUC-JPでは、"あいうえお"の5文字は10バイトであるが、</u><br> <u>UTF-8では、日本語部分は1文字が3バイトであるので、"あいうえお"は15バイトとなる。</u><br> <br> また、区切り文字をカンマ等にすることで、複数指定することができる。<br> <br> 以下の例では、"1byte目〜10byte目、47byte目以降"を出力している。<br> cut -b 1-10,47- <br> 以下の例では、"1文字目〜10文字目、47文字目以降"を出力している。<br> cut -c 1-10,47- <br> 以下の例では、<code>ls -l</code>コマンドの結果から、ファイルの種類とパーミッションを示す先頭の10byte、ファイル名を示す47byte目以降を出力している。<br> ls -l * | cut -b 1-10,47- <br><br> == フィールドを指定して切り出す == 固定長ではなく、カンマやタブで区切られているファイルに対して、<br> N番目のフィールドを指定する場合は、-fオプションを使用する。<br> <br> デフォルトの区切り文字は、タブである。<br> 区切り文字を変更する場合は、-dオプションまたは--delim=オプションで指定する。<br> <br> 以下の例では、/etc/passwdファイルの1番目のフィールドと7番目のフィールドを出力している。<br> /etc/passwdファイルはセミコロンでフィールドが区切られており、1番目はユーザ名、7番目はログインシェル名となっている。<br> cut -d ":" -f 1,7 /etc/passwd <br><br> == 出力の区切り文字を変更する == 出力の区切り文字は、<code>--output-delimiter=</code>オプションで変更できる。<br> また、出力側の区切り文字の文字数は自由である。<br> cut -d ":" -f 1,7 --output-delimiter=" --- " /etc/passwd <br><br> __FORCETOC__ [[カテゴリ:CentOS]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]]
Linuxコマンド - cut
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse