web-dev-qa-db-ja.com

タブを区切り文字として指定するカットコマンド

コマンドを使用すると、区切り文字がタブであるファイルがあります

cut -d \t file.txt  #or  "\t"  or  "\\t"

私はこのメッセージを受け取ります

cut:バイト、文字、またはフィールドのリストを指定する必要があります

詳細については、「cut --help」を試してください。

cutコマンドの使用方法

15

Cutは、指定された区切り文字(-d、-delimiter)で入力行を分割します。

タブで分割するのがデフォルトであるため、-dオプションを省略します。

-f(--fields)オプションを使用すると、対象のフィールドを指定できます。

echo -e "a\tb\tc" |cut -f 1 # outputs "a"
echo -e "a\tb\tc" |cut -f 2 # outputs "b"
echo -e "a\tb\tc" |cut -f 3 # outputs "c"
echo -e "a\tb\tc" |cut -f 1,3 # outputs "a\tc"
echo -e "a\tb\tc\td\te" |cut -f 2-4 # outputs "b\tc\td"

出力区切り文字(--output-delimiter)を指定して、区切り文字を含まない行を削除することもできます(-s /-only-delimited)

echo -e "a\tb\tc\td\te" |cut -f 2-4 --output-delimiter=":" # outputs b:c:d

入力ファイルの最初のフィールドに興味がある場合は、単に...

cut -f 1 file.txt
21
bikeshedder

デフォルトの区切り文字は「\ t」なので、実行する必要があるのは次のとおりです。

cut -f <n> file.txt

どこ <n>は列の番号です

16
OnaBai

最初に「v」を押してから「」キーを押すと、引用符の間にタブを配置することができます

eg  cat > test.txt 
a    b     c
<ctrl d>

$ grep test.txt | cut -f 2 -d "<ctrl v> <presstab>"

「b」を返します