13,230
回編集
(→概要) |
|||
| 101行目: | 101行目: | ||
また、出力側の区切り文字の文字数は自由である。<br> | また、出力側の区切り文字の文字数は自由である。<br> | ||
cut -d ":" -f 1,7 --output-delimiter=" --- " /etc/passwd | cut -d ":" -f 1,7 --output-delimiter=" --- " /etc/passwd | ||
<br><br> | |||
== cutコマンドを使用したフィルタリング == | |||
==== 特定のフィールドを切り出す ==== | |||
テキストファイル等からNフィールド目を切り出す処理やN〜Mフィールド目を切り出す処理等は、<code>cut</code>コマンドを使用する。<br> | |||
<br> | |||
以下の3つの例では、<code>cut</code>コマンドの<code>-d</code>オプションを付加して、特定のフィールドを切り出している。<br> | |||
<br> | |||
Nフィールド目を切り出す。<br> | |||
cut -d'デリミタ' -f<N> | |||
<br> | |||
Nフィールド目とMフィールド目を切り出す。<br> | |||
cut -d'デリミタ' -f<N>,<M> | |||
<br> | |||
N〜Mフィールド目を切り出す。<br> | |||
cut -d'デリミタ' -f<N>-<M> | |||
<br> | |||
フィールド間の区切り文字となるデリミタと、切り出すフィールド番号を指定することにより、<br> | |||
指定したデリミタによって区切られた特定のフィールドを切り出すことができる。<br> | |||
<br> | |||
デリミタを指定しない場合は、標準でタブが区切り文字として使用される。<br> | |||
また、デリミタに,(カンマ)を指定して、CSVファイルから特定のフィールドを切り出す処理を簡単に行うことができる。<br> | |||
<br> | |||
スペース区切りの2フィールド目を切り出す。<br> | |||
cut -d' ' -f2 | |||
echo 'field1 field2 field3 field4 field5' | cut -d' ' -f2 | |||
field2 | |||
<br> | |||
カンマ区切りの1フィールド目と3フィールド目を切り出す。<br> | |||
cut -d',' -f1,3 | |||
echo "field1,field2,field3,field4,field5" | cut -d"," -f1,3 | |||
field1,field3 | |||
<br> | |||
カンマ区切りの2フィールド目から4フィールド目を切り出す。<br> | |||
cut -d',' -f2-4 | |||
echo "field1,field2,field3,field4,field5" | cut -d"," -f2-4 | |||
field2,field3,field4 | |||
<br> | |||
カンマ区切りの3フィールド目以降を切り出す。<br> | |||
cut -d',' -f3- | |||
echo "field1,field2,field3,field4,field5" | cut -d"," -f3- | |||
field3,field4,field5 | |||
<br> | |||
タブ区切りの2フィールド目から5フィールド目を切り出す。<br> | |||
<code>cut</code>コマンドは、標準でタブがデリミタとして使用されるため、タブを区切り文字に使用する場合は<code>-d</code>オプションを省略する。<br> | |||
cut -f2-5 | |||
echo -e "field1\tfield2\tfield3\tfield4\tfield5" | cut -f2-5 | |||
field2 field3 field4 field5 | |||
<br> | |||
==== 特定の位置の文字を切り出す ==== | |||
テキストファイル等からN文字目の文字を切り出す処理やN〜M文字目の文字を切り出す処理等は、<code>cut</code>コマンドを使用する。<br> | |||
<br> | |||
以下の3つの例では、<code>cut</code>コマンドの<code>-c</code>オプションを付加して、特定の位置の文字を切り出す。<br> | |||
<code>cut</code>コマンドに切り出す文字の位置を指定することで、文字列の中から特定の位置の文字のみを切り出すことができる。<br> | |||
<br> | |||
N文字目の文字を切り出す。<br> | |||
cut -c<N> | |||
<br> | |||
N文字目とM文字目の文字を切り出す。<br> | |||
cut -c<N>,<M> | |||
<br> | |||
N〜M文字目の文字を切り出す。<br> | |||
cut -c<N>-<M> | |||
<br> | |||
3文字目を切り出す。<br> | |||
cut -c3 | |||
echo "1234567" | cut -c3 | |||
3 | |||
<br> | |||
1文字目と3文字目を切り出す。<br> | |||
cut -c1,3 | |||
echo "1234567" | cut -c1,3 | |||
13 | |||
<br> | |||
2〜4文字目を切り出す。<br> | |||
cut -c2-4 | |||
echo "1234567" | cut -c2-4 | |||
234 | |||
<br> | |||
3文字目以降を切り出す。<br> | |||
cut -c3- | |||
echo "1234567" | cut -c3- | |||
34567 | |||
<br><br> | <br><br> | ||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:CentOS]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]] | [[カテゴリ:CentOS]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]] | ||