brechen ich einen Ausdruck nach 135 Zeichen am Schneiden und Drucken jeder Zeile beginnend mit + oder - durch den BefehlAusgabe auf macos, während ein Ausdruck in mehreren Linien durch sed
cat file1 | tr -d '\n' > file2
sed 's/\(\(.\)\{,135\}\) \([\+\-]\)/\1\n\3/g' file2 > file3
cat file1
(-128*r1*T6*y*(22*y^3 + 32*y^2*(-1 + z) + 33*y*(-1 + z)^2 + 12*(-1 + z)^3))/
3 - (128*r1*T2*y*(11*y^3 - 2*y^2*z - 3*y*z^2 - 12*z^3))/3 +
(128*r1*T3*z*(12*y^3 + 3*y^2*z + 2*y*z^2 - 11*z^3))/3 -
2816*r1*T1*(y^4 + 2*y^3*(-1 + z) + 3*y^2*(-1 + z)^2 + 2*y*(-1 + z)^3 +
(1 - z + z^2)^2) + (256*r1*T5*(11 + 11*y^4 + 14*z - 14*y^3*z - 36*z^2 +
44*z^3 - 22*z^4 - 6*y^2*z*(-7 + 6*z) - 2*y*z*(21 - 36*z + 22*z^2)))/3 +
(128*r1*T8*(110 + 99*y^4 - 174*z + 261*z^2 - 164*z^3 + 99*z^4 +
2*y^3*(-82 + 81*z) + 3*y^2*(87 - 172*z + 86*z^2) +
6*y*(-29 + 86*z - 86*z^2 + 27*z^3)))/3
Das funktioniert auf Linux, aber nicht in Mac. Der angezeigte Fehler ist folgender:
sed: 1: "s/\(\(.\)\{,135\}\) \([ ...": RE error: invalid repetition count(s)
Irgendein Ausweg, um dies zu beheben?
Versuchen Sie stattdessen {1,135}. Gemäß der Dokumentation kann das zweite Argument weggelassen werden und nicht das erste. Siehe https://www.gnu.org/software/sed/manual/sed.html#sed-regular-expressions – Himanshu
mit dieser Änderung bricht es nicht mehr die Zeilen .. aber die Beschwerde ist nicht da. –
Probieren Sie 's/\ (. \ {1,135 \} \) \ ([+ -] \)/\ 1 \ n \ 2/g'' –