मेरे पास निम्न फ़ाइल log.xml
:xmlstarlet - दूर करने linefeed
<entry>
<message>Line 1
Line 2 and so on</message>
</entry>
CentOS 5.4 पर, xmlstarlet 1.0.1 अगर मैं निम्नलिखित कमांड चलाएँ का उपयोग करते समय message
में linefeed को हटाने:
xml sel -t -m //entry -v "translate(message,'
' ,'@')" log.xml
परिणाम है:
Line [email protected] Line 2 and so on
xmlstarlet का उपयोग कर CentOS 6 पर 0:
1.3.1
compiled against libxml2 2.7.6, linked with 20706
compiled against libxslt 1.1.26, linked with 10126
मैं प्राप्त करेंगे:
Line 1
Line 2 nd so on
नोट "और" कुछ भी नहीं करने के लिए परिवर्तित। मुझे लगता है कि यह xmlstarlet की समस्या नहीं है, बल्कि libxslt में कुछ बदलाव है।
कोई विचार इसे ठीक करने के लिए कैसे करें?
अद्यतन
जोड़ा गया पत्र "एक" कुछ नहीं के बदलने के साथ समस्या।
:
तब का अनुवाद समारोह के दूसरे तर्क के रूप में है कि चर का उपयोग http://stackoverflow.com/a/6651469/825783 प्रासंगिक हो सकता है। –
@EeroHelenius यह सुनिश्चित नहीं है कि यह वही समस्या है :( – dimba
निश्चित रूप से पता नहीं है, लेकिन शायद लाइन की समाप्ति आपके अपेक्षा से अलग है: http: // sourceforge।net/mailarchive/message.php? msg_id = 28142284 –