たとえば、この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はまた、さまざまな区切り文字を処理するのにもう少し堪能です。との両方を処理する方法は次のとおりですTabs。Spaces
$ 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
-s
2番目の例では、スイッチが区切り文字を含まない出力から文字列を省略していることがわかりますSpace。