Bash
使用 cut 返回字元串的中間
我有一個 xml 字元串回
stdout
顯到<xml:attribute>{41c33a-4893b-3627a-617a}</xml:attribute>
{41c33a-4893b-3627a-617a}
在這種情況下,我想返回字元串。我正在考慮使用 cut (甚至可能兩次管道),但我不知道正確的語法。我正在使用 bash。
您可以使用
cut
’-d
選項來定義分隔符(從結果欄位中排除):echo "<xml:attribute>{41c33a-4893b-3627a-617a}</xml:attribute>" | cut -d\> -f2 | cut -d\< -f1
這拆分
>
並輸出第二個欄位,離開{41c33a-4893b-3627a-617a}</xml:attribute
,然後再次打開<
並輸出第一個欄位。欄位描述分隔符之間、文本開頭和第一個分隔符之間、最後一個分隔符和文本結尾之間的文本。使用
>
原始文本,您最終得到:
<xml:attribute
{41c33a-4893b-3627a-617a}</xml:attribute
- 空字元串
(分隔符被省略)。然後
<
在欄位 2 上使用給出
{41c33a-4893b-3627a-617a}
/xml:attribute
欄位 1 是您要查找的結果。