सवाल नोटपैड ++ में फ्लिप या रिवर्स लाइन ऑर्डर


मैं 500 + लाइनों के साथ दस्तावेज़ के लाइन ऑर्डर फ्लिप करना चाहता हूं। रेखाएं केवल संख्याएं नहीं हैं, कुछ में टेक्स्ट और अन्य वर्ण शामिल हैं। यह एक मिश्रण है।

उदाहरण:

पंक्ति 1
लाइन 2
लाइन 3
लाइन 4
लाइन 5
रेखा 6

जो मैं तब फ्लिप करना चाहता हूं, पीछे और ऊपर से इस तरह दिखता हूं:

रेखा 6
लाइन 5
लाइन 4
लाइन 3
लाइन 2
पंक्ति 1

85
2017-09-02 12:19


मूल


मतलब आप बाएं हाशिए पर संख्याओं को गिनने के लिए चाहते हैं, या आप चाहते हैं कि आपकी फ़ाइल की वास्तविक सामग्री को उलट दिया जाए? - Maxpm
@Maxpm फ़ाइल की वास्तविक सामग्री को उलट करने के लिए। - Danpe
के संभावित डुप्लिकेट नोटपैड ++ में रिवर्स लाइन ऑर्डर - Franck Dernoncourt


जवाब:


सामान्य रूप से शामिल टेक्स्टफैक्स प्लगइन को छोड़कर समाधान को अन्य सॉफ़्टवेयर की आवश्यकता नहीं है:

  1. संपादित करें> सभी का चयन करें
  2. टेक्स्टएफएक्स> टेक्स्टएफएक्स टूल्स> लाइन नंबर डालें
  3. यदि टेक्स्टएफएक्स> टेक्स्टएफएक्स टूल्स> + आरोही क्रमबद्ध है, तो इसे अनचेक करें
  4. टेक्स्टएफएक्स> टेक्स्टएफएक्स टूल्स> सॉर्ट लाइन केस सेंसिटिव (कॉलम पर)
  5. टेक्स्टएफएक्स> टेक्स्टएफएक्स टूल्स> लाइन नंबर या फर्स्ट वर्ड हटाएं

91
2018-02-21 12:07



यदि TextFX नहीं मिला है तो यहां जाएं: प्लगइन्स »प्लगइन प्रबंधक» प्लगइन प्रबंधक दिखाएँ »" टेक्स्टएफएक्स वर्ण "की जांच करें, इंस्टॉल करें पर क्लिक करें। यहाँ देखें: textfx.no-ip.com/textfx - Kalpesh Panchal
- जो काम करता था वह भाग में "सॉर्ट लाइन केस असंवेदनशील" था 4) - Theta30
@ थेटा 30: मान लीजिए कि संस्करण का उपयोग करने के बाद यूआई टेक्स्ट बदल गया है। - Gnubie
ग्रहण का उपयोग करने वालों के लिए देखें यह जवाब यह और भी आसान करने के लिए। (मुझे नोटपैड ++ के लिए पूछे गए मूल प्रश्न को पता है, लेकिन सोचा कि यह उन लोगों के लिए जोड़ना उचित होगा)। - Steve Chambers
@SteveChambers more simply एक अल्पमत है। आप वांछित लाइनों को हाइलाइट कर सकते हैं और केवल दो माउस क्लिक में उलटा कर सकते हैं। स्टीव को इंगित करने के लिए बहुत बहुत धन्यवाद, इसने आज मेरे जीवन को आसान बना दिया। - b1nary.atr0phy


यह TextFX प्लगइन के बिना नोटपैड ++ में भी किया जा सकता है। यह स्वीकार किए गए उत्तर की एक ही रणनीति का पालन करता है, लेकिन मूल कार्यक्षमता का उपयोग करता है। यह निम्नानुसार किया जाता है:

  1. संपादित करें> सभी का चयन करें
  2. संपादित करें> कॉलम संपादक ...> सम्मिलित करने के लिए संख्या का चयन करें> प्रारंभिक संख्या 1 पर सेट करें> 1 तक बढ़ाएं सेट करें> अग्रणी शून्य जांचें> ठीक क्लिक करें

enter image description here

  1. संपादित करें> रेखा संचालन> अवरोही क्रम में क्रमबद्ध लाइनें संपादित करें: हालिया अपडेट में अतिरिक्त सॉर्टिंग विकल्प जोड़े गए, विकल्प: क्रमबद्ध रेखाओं को क्रमबद्ध रूप से अवरुद्ध करें नौकरी करने लगता है।

enter image description here

  1. किसी भी बॉक्स चयन के माध्यम से लाइन नंबर निकालें (Alt + Left Click Drag या Alt + Shift Select) या खोजें / बदलें

enter image description here


21
2018-04-08 19:08



यह काम करता है, लेकिन ध्यान में रखने के लिए दो चीजें हैं: 1- यह अंतिम (खाली) पंक्ति के लिए एक अतिरिक्त संख्या डालता है, इसलिए आपको सॉर्ट करने से पहले इसे हटाना होगा। 2- यदि आपकी सूची संख्याओं से शुरू होती है तो आप अपनी संख्याओं के साथ सम्मिलित संख्याओं को गड़बड़ कर सकते हैं, क्योंकि यह सम्मिलित संख्याओं के बाद कोई स्थान नहीं डालता है, इसलिए आपको इस मामले में सावधान रहना चाहिए। - Francisco Alvarado
चरण 3 पुन: उत्पन्न नहीं कर सकता। नया संस्करण शब्द बदल दिया है, और जो भी विकल्प मेरे लिए काम नहीं करता है - Ooker
@Ooker मैंने चरण 3 अपडेट किया। अगर यह काम करता है तो मुझे बताएं। - Trevor Young
@TrevorYoung - आप एक छवि के बारे में शिकायत कर रहे हैं जो किसी अन्य द्वारा जोड़ा गया था उपयोगकर्ता।  मैंने अभी जवाब के स्वरूपण को ठीक किया है और संपादन को मंजूरी दे दी है। अगर आपको छवि अनुपयोगी लगता है, तो इसे हटा दें, आप उत्तर के लेखक हैं। छवि का जोड़ा एक स्वीकार्य संपादन है (यानी इसके बिना छवि के साथ उत्तर बेहतर है) - Ramhound
@ रमहाउंड माफ़ी माफ करना संपादन इतिहास को देखते हुए, मैंने सोचा कि आपने छवि को जोड़ा है, लेकिन ऐसा नहीं है। मुझे वहां मौजूद छवि के साथ कोई समस्या नहीं है, लेकिन उस व्यक्ति को सुझाव देने की कोशिश कर रहा था जिसने कहा कि यह बेहतर हो सकता है अगर दिए गए सुझाव के बजाय किया गया हो। - Trevor Young


खैर, चूंकि हम कोड उदाहरण दे रहे हैं, यदि आप विंडोज 7 पर हैं या आपने विंडोज़ के दूसरे संस्करण पर पावरहेल स्थापित किया है, तो:

$foo = New-Object System.collections.arraylist;
$foo.AddRange($(Get-Content 'C:\Path\To\File.txt));
$foo.Reverse();
$foo | Out-File C:\Path\To\File.txt

या एक गैर कोडिंग उत्तर के लिए, डाउनलोड करें जाँचने, फ़ाइल खोलें और टाइप करें:

:g/^/m0

6
2017-09-02 13:32



मैं विंडोज 7 पर हूं, मैं उस कोड को कहां पेस्ट करूँ? यह वास्तव में intresting है। - Danpe
स्टार्ट मेनू खोलें और केवल पावरहेल टाइप करें। "विंडोज पावरहेल" पर डबल क्लिक करें। यह एक कमांड प्रॉम्प्ट खुल जाएगा। इसे वहाँ चलाओ। वहाँ भी है और आईडीई (हालांकि वे इसे एक आईएसई - एकीकृत स्क्रिप्ट संपादक कहते हैं), लेकिन मैं कमांड प्रॉम्प्ट पर अपना अधिकांश काम करता हूं और मैं स्क्रिप्ट संपादन के लिए जीवीआईएम का उपयोग करता हूं। - EBGreen


यदि आप सी ++ संकलित आरामदायक हैं, तो यह चाल चलनी चाहिए। असल में, मैंने फ़ाइल की प्रत्येक पंक्ति को वेक्टर में रखी है, और एक रिवर्स इटरेटर का उपयोग कर इसे एक नई फाइल में आउटपुट किया है।

#include <iostream>
#include <fstream>
#include <string>
#include <vector>

int main()
{
    std::vector<std::string> fileLines;
    std::string              currLine;
    std::ifstream            inFile("input.txt");
    if (inFile.is_open())
    {
        while (inFile.good())
        {
            std::getline(inFile, currLine);
            fileLines.push_back(currLine);
        }
        inFile.close();
    }
    else
    {
        std::cout << "Error - could not open input file!\n";
        return 1;
    }

    std::ofstream outFile("output.txt");
    if (outFile.is_open())
    {
        std::vector<std::string>::reverse_iterator rIt;
        for (rIt = fileLines.rbegin(); rIt < fileLines.rend(); rIt++)
        {
            outFile << *rIt;
        }
        outFile.close();
    }
    else
    {
        std::cout << "Error - could not open output file!\n";
        return 1;
    }
    return 0;
}

यदि आउटपुट फ़ाइल लाइनों के बीच लाइन ब्रेक गायब है, तो बदलें outFile << *rIt; होने के लिए outFile << *rIt << "\r\n"; इसलिए एक लाइन ब्रेक जोड़ा जाता है (छोड़ दें \r यदि आप यूनिक्स / लिनक्स पर हैं)।

अस्वीकरण: मैंने इस कोड का परीक्षण नहीं किया है (मैंने इसे नोटपैड में वास्तविक त्वरित लिखा है), लेकिन यह व्यवहार्य दिखता है।


5
2017-09-02 13:11



धन्यवाद आदमी :) लेकिन मैं पहले से ही अपना कोड इस्तेमाल करता हूं, लेकिन यह दूसरों के लिए बहुत उपयोगी हो सकता है। बीटीडब्ल्यू शायद मैं इसके लिए नोटपैड ++ प्लगइन लिखूंगा। नोटपैड ++ प्लगइन्स में वे किस लंगेज का उपयोग करते हैं? - Danpe
@ डैनप अधिकांश नोटपैड ++ प्लगइन्स सी ++ में लिखे गए हैं, लेकिन तकनीकी रूप से डीएलएल (और उचित एपीआई बाइंडिंग के साथ) को संकलित करने में सक्षम किसी भी अन्य भाषा तक बढ़ाया जा सकता है। - Breakthrough
तो मुझे लगता है कि आपने अभी एक प्लगइन बनाया है :) - Danpe


ऑनलाइन उपलब्ध टूल का उपयोग करें जो इसे एक क्लिक में करता है

http://www.miniwebtool.com/reverse-lines/


4
2017-12-12 08:25





आप इसे वेबसाइट पर ऑनलाइन कर सकते हैं http://textmechanic.co/Sort-Text-Lines.html


2
2018-02-28 15:51



हालांकि वेबसाइट टूट गई है, ऐसा लगता है कि यह स्थानांतरित हो गया था textmechanic.co/Sort-Text-Lines.html - George Chalhoub
@georgechalhoub धन्यवाद, मैंने जवाब अपडेट किया। - Franck Dernoncourt


यहां एक सी # .NET कोड है जिसके लिए मैंने अभी लिखा है :)

class Program
{
    static void Main(string[] args)
    {
        try
        {
            String line;
            Stack<String> lines = new Stack<string>();
            // Create an instance of StreamReader to read from a file.
            // The using statement also closes the StreamReader.
            using (StreamReader sr = new StreamReader("test.txt"))
            {
                // Read and display lines from the file until the end of
                // the file is reached.
                while ((line = sr.ReadLine()) != null)
                    lines.Push(line);
            }
            // create a writer and open the file
            TextWriter tw = new StreamWriter("test2.txt");
            // write a line of text to the file
            while (lines.Count > 0)
                tw.WriteLine(lines.Pop());
            // close the stream
            tw.Close();
        }
        catch (Exception e)
        {
            // Let the user know what went wrong.
            Console.WriteLine("The file could not be read/written:");
            Console.WriteLine(e.Message);
        }
    }
}

1
2017-09-02 13:15



आपको इसकी आवश्यकता क्यों है unsafe पर कीवर्ड Main यहाँ? - Breakthrough
@ ब्रेक मैं नहीं जानता कि यह कैसे मिला: ओ लॉल तय। - Danpe
हम इसे नोटपैड ++ में कैसे एकीकृत कर सकते हैं? - Teoman shipahi


यहां एक गैर-कोडिंग तरीका है:

  1. टेक्स्टपैड मुफ्त परीक्षण डाउनलोड / इंस्टॉल करें
  2. एक स्प्रेडशीट प्रोग्राम (यानी एक्सेल) खोलें और सेल ए 1 में "1000" डालने के बाद कॉलम "ए" में 1500 से 1500 बनाएं, फिर सेल ए 2 में ए 1 + 1 डालें, फिर उसे ए 500 पर कॉपी करें।
  3. टेक्स्टपैड में अपनी टेक्स्ट फ़ाइल खोलें
  4. टेक्स्टपैड में "ब्लॉक मोड" में बदलें
  5. स्प्रैडशीट से टेक्स्टपैड में कॉलम ए पेस्ट करें (सभी ब्लॉक मोड के कारण बाएं हाशिए पर समाप्त हो जाएंगे)
  6. टेक्स्टपैड सॉर्ट सुविधा का उपयोग करें, अवरोही
  7. संख्याओं से छुटकारा पाने के लिए टेक्स्टपैड ब्लॉक मोड हटाएं

0
2017-09-02 14:32



ठीक है अगर आप एक्सेल का उपयोग करने जा रहे हैं, तो बस किसी भी संपादक से फ़ाइल सामग्री कॉपी करें, एक्सेल करने के लिए पेस्ट करें। संख्याओं की एक श्रृंखला के साथ अगले कॉलम श्रृंखला को भरें। कॉलम पर उतरने और क्रमशः दोनों कॉलम का चयन करें। टेक्स्ट कॉलम कॉपी करें और संपादक को वापस पेस्ट करें। - EBGreen
@EBGreen, आप सही हैं। मैं बेवकूफ़ हूँ। आपको केवल सावधान रहना होगा क्योंकि एक्सेल आपके डेटा को बदल देगा (संख्याओं, तिथियों और इस तरह के संदेश)। - Dale


यदि आप इसे एक ही क्लिक के साथ नोटपैड ++ पर स्वचालित करना चाहते हैं:

  1. प्राप्त यह पायथन लिपि लगाना
  2. कोड को जोड़ें और इसे python स्क्रिप्ट फ़ोल्डर में .py फ़ाइल के रूप में सहेजें (इस फ़ोल्डर के स्थान को जानने के लिए, प्लगइन्स टैब पर क्लिक करें, फिर पायथन स्क्रिप्ट और नई स्क्रिप्ट)।

सभी महिमा रेक डिकहार्ड!

संपादित करें: संदर्भ मेनू में इसे जोड़ने के लिए यदि आप प्लगइन्स टैब / पायथन स्क्रिप्ट / कॉन्फ़िगरेशन पर क्लिक करते हैं, तो आप स्क्रिप्ट को या तो टूलबार आइकन या पाइथन स्क्रिप्ट मेनू पर असाइन कर सकते हैं। (यदि आप मेनू में एक स्क्रिप्ट असाइन करते हैं, तो यह तुरंत दिखाई देगा, लेकिन अगली बार नोटपैड ++ शुरू होने तक आप इसे शॉर्टकट असाइन नहीं कर पाएंगे। अगर आप इसे टूलबार आइकन पर असाइन करते हैं, तो यह केवल तभी दिखाई देगा नोटपैड ++ की अगली शुरुआत।)


0
2018-02-10 11:59