Sed

如何提取具有多字元分隔符的文件中的第一列?

  • March 17, 2019

我有一個文件,我在其中使用一個字元串<xxxxx>來分隔欄位。這是避免逗號分隔欄位和其他類型的單個字元出現問題的選擇,因為列中的字元串的性質可能包含其中一些特殊字元。

我想提取第一列。我用了:

cat myfile.txt | cut -d '<xxxxx>' -f1 > out.txt

但是我收到錯誤說分隔符必須是單個字元。問:如何提取第一列(在第一次出現<xxxxx>?

awk

echo "This is it"|awk -F '<xxxxx>' '{print $1}'

請注意,欄位分隔符(到 的參數-F)是一個正則表達式,因此如果分隔符中的任何字元在正則表達式中是特殊的,則需要對其進行轉義。

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