Columns

如何使用三斜杠作為切割的分隔符?

  • June 13, 2016

我有一個表格,其中每個條目看起來像,

coagulation factor VIII-associated 1 /// coagulation factor VIII-associated 2 /// coagulation factor VIII-associated 3

我想使用cut -d/// -f2 myfile.txt,但出現錯誤:

cut:錯誤的分隔符

當我在分隔符周圍使用單引號或雙引號時,情況相同:

cut -d'///' -f2 myfile.txt

cut -d"///" -f2 myfile.txt

我必須以某種方式逃避斜線嗎?如果是這樣,cut 的轉義字元是什麼?文件似乎沒有該資訊,我嘗試了 .

如果分隔符不是一個固定字元,那麼cut錯誤的工具。

改為使用awk

考慮這個包含三個欄位的測試文件:

$ cat file
one///two/2//two///three

要列印第二個欄位並且只列印第二個欄位:

$ awk -F/// '{print $2}' file
two/2//two

其他答案都很好,但也有可能替換您目前的分隔符以便cut按照您的需要使用,例如:

sed "s/\/\/\//\//g" myfile.txt | cut -d/ -f2

引用自:https://unix.stackexchange.com/questions/289546