प्रश्न कमोबेश यह सब कहता है। मुझे पता है कि /^$/d
सभी खाली लाइनों को हटा देंगे, लेकिन मैं यह नहीं कह सकता कि 'दो या अधिक रिक्त लाइनों को एक ही रिक्त रेखा से कैसे बदलें'
कोई विचार?
प्रश्न कमोबेश यह सब कहता है। मुझे पता है कि /^$/d
सभी खाली लाइनों को हटा देंगे, लेकिन मैं यह नहीं कह सकता कि 'दो या अधिक रिक्त लाइनों को एक ही रिक्त रेखा से कैसे बदलें'
कोई विचार?
जवाबों:
यदि आप किसी अन्य उपयोग के लिए वीम या सेड फायरिंग नहीं कर रहे हैं, तो बिल्ली के पास वास्तव में कई खाली लाइनों को ढहाने का एक आसान तरीका है, बस उपयोग करें cat -s
।
यदि आप पहले से ही विम में थे और वहां रहना चाहते थे, तो आप आंतरिक खोज के साथ ऐसा कर सकते थे और जारी करके प्रतिस्थापित कर सकते थे: :%s!\n\n\n\+!^M^M!g
(^ M एक न्यूलाइन का दृश्य प्रतिनिधित्व है, आप इसे मारकर Ctrl+ दर्ज कर सकते हैं vEnter), या खुद को बचा सकते हैं। केवल बिल्ली के लिए खोलकर टाइपिंग :%!cat -s
:।
:%!cat -s
। हर रोज़ कुछ सीखें GNnew!
%s!\n\n\n\+!\r\r!g
\n
खोज पैटर्न में एक नई रेखा इंगित करने के लिए उपयोग करें । का प्रयोग करें Ctrl+ Mप्रतिस्थापन पाठ, या एक backreference में। देखें :help pattern
और :help sub-replace-special
(से लिंक :help :s
)
%s/\(\n\n\)\n\+/\1/
\n
जो प्रतिस्थापन पाठ में काम नहीं करता है।
यदि विम में, बस यह करें:
:%!cat -s
man
पृष्ठ का एक उद्धरण हो ।
पर्ल का उपयोग करना:
perl -00 -pe ''
-00
कमांड लाइन विकल्प पैरा स्लरप मोड को चालू करता है, जिसका अर्थ है पर्ल, लाइन द्वारा लाइन के बजाय पैरा द्वारा टेक्स्ट पैराग्राफ को पढ़ता है।
सीड (GNU sed) के साथ 4.2.2:
sed -r '
/^\s*$/ {
# blank line
:NEXT
N # append next line to pattern space - if none, autoprint PS and exit
s/^\s*$\n^\s*$//g;t NEXT # if 2 blank lines, clear PS and loop to NEXT
}
# else, autoprint PS and next/exit
' < $MYFILE
मुझे पता है कि यह मूर्खतापूर्ण कोड है, लेकिन मैं 10 मिनट से कम समय में इस मुद्दे को हल करना चाहता था, और यह काम किया
for file in /directory/*
do
originalname=$file
us='_'
tempname=$file$us
echo $originalname
mv $originalname $tempname
uniq $tempname $originalname
rm $tempname
done
uniq
समीपवर्ती समान रेखाओं को हटाता है। जो ओपी नहीं चाहता है।
-s
बिल्ली का विकल्प नहीं जानता था - सिर्फ एक ऐतिहासिक नोट, यह POSIX में नहीं है, लेकिन बीएसडी और जीएनयू बिल्ली में उपलब्ध है।