如何使用 sed 更改文字格式?

如何使用 sed 更改文字格式?
cat > inputfile

X1 a1,b1,c1,d1.................. dn
X2 a2,b2,c2,d2.................. and so on upto n
................................................
................................................
Xn an,bn,cn,dn....................and so on upto n

輸出格式:

X1 a1 +
   b1 +
   c1 +
   .
   .
   .
   .

X2 a2 +
   b2 +
   c2 +
   .
   .
   .


and so on

我正在嘗試類似的東西

 sed ':b;s/,/\
/;tb;s/\
/ +/g'

注意:我需要在之前添加一個選項卡b1 +,c1 +....b2 +,c2 +,...

答案1

給定這個輸入檔:

X1 a1,b1,c1,d1
X2 a2,b2,c2,d2
X3 a3,b3,c3,d3
X4 a4,b4,c4,d4

使用 sed(使用 bashANSI-C 引用為了清楚起見):

sed $'s/,/ +\\\n\t/g' inputfile
X1 a1 +
    b1 +
    c1 +
    d1
X2 a2 +
    b2 +
    c2 +
    d2
X3 a3 +
    b3 +
    c3 +
    d3
X4 a4 +
    b4 +
    c4 +
    d4

sed 需要在換行符之前看到反斜杠,否則您會收到“未終止的 s 命令”錯誤

相關內容