Cutコマンドの「フィールド」は何で構成されていますか?

Cutコマンドの「フィールド」は何で構成されていますか?

たとえば、このcutコマンドは次のようにパラメーター-fを使用できます。man

このフィールドのみを選択してください。 -sオプションが指定されていない場合は、区切り文字を含まないすべての行も印刷します。

この場合、フィールドとは何ですか?

ベストアンサー1

「フィールド」という用語はしばしば同じcutツールに関連付けられていますawk。データをインポートして特定の文字を使用して区切ると、フィールドはデータ列のように見えます。これを行うためによく使用される文字はですSpace

ただし、ほとんどのツールと同様に構成が可能です。たとえば、

  • awk = awk -F"," ...- カンマで区切られます(例,:)。
  • cut = cut -d"," ...- カンマで区切られます(例,:)。

はい

最初は、awk空間を自動的に分割する方法を示しています。

$ echo "The rain in Spain." | awk '{print $1" "$4}'
The Spain.

これはcutまた、空間で分割を実行する方法を示しています。

$ echo "The rain in Spain." | cut -d" " -f1,4
The Spain.

cutこれには、列1と4を返すために使用する列データのCSVのリストがあります。

$ echo "col1,col2,col3,co4" | cut -d"," -f1,4
col1,co4

awkもこれを行うことができます:

$ echo "col1,col2,col3,co4" | awk -F"," '{print $1","$4}'
col1,co4

Awkはまた、さまざまな区切り文字を処理するのにもう少し堪能です。との両方を処理する方法は次のとおりですTabsSpaces

$ echo -e "The\t rain\t\t in Spain." | awk '{print $1" "$4}'
The Spain.

カットのための-sスイッチはどうですか?

このスイッチの場合、スイッチで指定された区切り文字を含まない行はcut印刷しないように指示します。-d

はい

このファイルがあるとしましょう。

$ cat sample.txt 
This is a space string.
This is a space   and   tab string.
Thisstringcontainsneither.

メモ:上記の2番目の文字列にはスペースとタブがあります。

cutスイッチがある場合とない場合の文字列を処理すると、次のようになります-s

$ cut -d" " -f1-6 sample.txt 
This is a space string.
This is a space  
Thisstringcontainsneither.

$ cut -d" " -f1-6 -s sample.txt 
This is a space string.
This is a space  

-s2番目の例では、スイッチが区切り文字を含まない出力から文字列を省略していることがわかりますSpace

おすすめ記事