web-dev-qa-db-ja.com

BASHで「カット」を使用して「タブ」区切り文字を定義する方法は?

次に、cutを使用して、スペース区切り文字を使用して入力をフィールドに分割し、2番目のフィールドを取得する例を示します。

cut -f2 -d' '

区切り文字をスペースではなくタブとしてどのように定義できますか?

246

二通り:

押す Ctrl+V その後 Tab

cut -f2 -d'   ' infile

または次のように書きます:

cut -f2 -d$'\t' infile
334
Birei

タブがデフォルトです。

cut man page を参照してください。

-d delim
         Use delim as the field delimiter character instead of the tab
         character.

だからあなたはただ書くべきです

cut -f 2
209
Mikel
awk -F '\t' '{ print $2 }' inputfile

これにより、inputfileから入力の各行の2番目のタブ区切りフィールドが抽出されます。

14
Iľja

より一般的には、非表示の文字を必要としない:trを使用して、区切り文字をcutに簡単に指定できる形式に変換します。

$ echo -e "a\tb\tc" |tr '\t' ' ' |cut -d' ' -f2
b

trは、シンプルですが強力な文字照合および置換ツールです。

10
nobar