பாஷ்: உரையின் நெடுவரிசையை வரிசையாக மாற்றவும்

எங்களிடம் ஒரு உரை கோப்பு உள்ளது என்று வைத்துக்கொள்வோம் distros.txt பின்வருவனவற்றைக் கொண்டு:

archlinux
டெபியன்
உபுண்டு
குழப்பம்
ஃபெடோராவை
ஸ்லாக்வேர்
ஜென்டூ

நாங்கள் இதை மாற்ற விரும்புகிறோம்:

archlinux debian ubuntu kaos fedora slackware ஜென்டூ

இதை அடைய நாம் ஒரு பயன்படுத்துவோம் வளையத்திற்கு மற்றும் ஒரு எதிரொலி -n :

for i in `< distros.txt`; do echo -n ${i}" ";done; echo ""

முடிந்தது, இது தந்திரம் செய்கிறது

இது முனையத்தில் விரும்பிய முடிவைக் காண்பிக்கும், மறுபுறம் அதை மற்றொரு .txt கோப்பில் சேமிக்க விரும்பினால், வெளியீட்டை திருப்பி விடுகிறோம்:

for i in `< distros.txt`; do echo -n ${i}" ";done; echo "" > distros-nuevas.txt

மற்றும் வோய்லா

எதுவுமில்லை, நீங்கள் அதைப் பயனுள்ளதாகக் கருதுகிறீர்கள் என்று நம்புகிறேன். வழக்கமான வெளிப்பாடுகளுடன் கூட இதைச் செய்ய முடியும் என்பதை தெளிவுபடுத்துவதற்கு செல்லுபடியாகும், எனக்கு எப்படி என்று தெரியவில்லை ... ஆனால், வழக்கமான வெளிப்பாடுகளுடன் நீங்கள் கிட்டத்தட்ட எல்லாவற்றையும் செய்யலாம்.


உங்கள் கருத்தை தெரிவிக்கவும்

உங்கள் மின்னஞ்சல் முகவரி வெளியிடப்பட்ட முடியாது. தேவையான புலங்கள் குறிக்கப்பட்டிருக்கும் *

*

*

  1. தரவுக்கு பொறுப்பு: மிகுவல் ஏஞ்சல் கேடன்
  2. தரவின் நோக்கம்: கட்டுப்பாட்டு ஸ்பேம், கருத்து மேலாண்மை.
  3. சட்டபூர்வமாக்கல்: உங்கள் ஒப்புதல்
  4. தரவின் தொடர்பு: சட்டபூர்வமான கடமையால் தவிர மூன்றாம் தரப்பினருக்கு தரவு தெரிவிக்கப்படாது.
  5. தரவு சேமிப்பு: ஆக்சென்டஸ் நெட்வொர்க்குகள் (EU) வழங்கிய தரவுத்தளம்
  6. உரிமைகள்: எந்த நேரத்திலும் உங்கள் தகவல்களை நீங்கள் கட்டுப்படுத்தலாம், மீட்டெடுக்கலாம் மற்றும் நீக்கலாம்.

  1.   ஜோஸ் ரிக்கார்டோ அவர் கூறினார்

    எளிதானது:

    பூனை distros.txt | xargs -n 100

  2.   ¿ அவர் கூறினார்

    ஒரு .odt இல் ஒவ்வொரு பக்கத்திலும் எனக்கு 2 நெடுவரிசைகள் இருந்தால், அவை இப்படி வாசிக்கின்றன:

    பக். 1
    col.1 col.2
    பக். 2
    col.3 col.4
    முதலியன

    ஒவ்வொரு நெடுவரிசையையும் மற்றொன்றுக்குக் கீழே பெறுவது எப்படி?
    col.1
    col.2
    col.3
    col.4
    முதலியன

  3.   ஜுவான்ட் அவர் கூறினார்

    மிகவும் எளிதானது:

    தாவல்களால் பிரிக்க விரும்பினால்:
    நீங்கள் எழுதுகிறீர்கள்: ஒட்டவும் -s distros.txt
    நீங்கள் பெறுவீர்கள்: archlinux debian ubuntu kaos fedora slackware entoo

    நீங்கள் அதை இடைவெளிகளால் பிரிக்க விரும்பினால்:
    நீங்கள் எழுதுகிறீர்கள்: -s -d »» distros.txt ஐ ஒட்டவும்
    நீங்கள் பெறுவீர்கள்: archlinux debian ubuntu kaos fedora slackware entoo

    நீங்கள் அதை காற்புள்ளிகளால் பிரிக்க விரும்பினால்:
    நீங்கள் எழுதுகிறீர்கள்: ஒட்டவும் -s -d, distros.txt
    நீங்கள் பெறுவீர்கள்: ஆர்ச்லினக்ஸ், டெபியன், உபுண்டு, காவ்ஸ், ஃபெடோரா, ஸ்லாக்வேர், ஜென்டூ

    பேஸ்ட், பூனை, விழிப்புணர்வு மற்றும் பிற நண்பர்களுடன், ஒரு சிறிய புத்தி கூர்மை மூலம் உங்கள் வாழ்க்கையை சிக்கலாக்காமல் பல பயனுள்ள சேர்க்கைகளை செய்யலாம்.

    எல்லாவற்றையும் சிறப்பாக தொடரட்டும், போர்ட்டல் புரோகிராமஸில் விருதுக்கு வாழ்த்துக்கள்!

    1.    வேட்டைக்காரன் அவர் கூறினார்

      சுருக்கமாக நான் sed, awk, cut, sort, uniq, கிரீம் பயன்படுத்துகிறேன், ஆனால் நான் ஒருபோதும் ஒட்டுவதற்கு கவனம் செலுத்தவில்லை, அது என்ன செய்ய முடியும் என்பதைக் காட்டியதற்கு நன்றி. Slds.

  4.   டேப்ரிஸ் அவர் கூறினார்

    பூனை file.txt | xargs

    இலாப.

  5.   கிறிஸ்டியன்ஹெச்.டி அவர் கூறினார்

    நான் எப்போதும் இந்த [இடமாற்றம்] க்கு எக்செல் பயன்படுத்துகிறேன் ... மிகவும் பயனுள்ளதாக இருக்கும்

  6.   புருனோ காசியோ அவர் கூறினார்

    மற்றொரு மாறுபாடு:

    பூனை distros.txt | tr «\ n» »«

  7.   ஜோகுயின் அவர் கூறினார்

    ஒவ்வொரு கருத்திலும் ஹாஹாஹா, இதைச் செய்வதற்கான வித்தியாசமான வழி!

  8.   ஜோஸ் ஜி.டி.எஃப் அவர் கூறினார்

    அதற்கு நேர்மாறாக செய்ய, அது எப்படி இருக்கும்? அதாவது, இடைவெளிகளால் பிரிக்கப்பட்ட சொற்களின் வரிசையை ஒரு நெடுவரிசையாக மாற்றுகிறது.

    1.    ஜுவான்ட் அவர் கூறினார்

      எளிதானது, இந்த நேரத்தில் விழிப்புடன்.
      புலங்கள் தாவல்கள் அல்லது இடைவெளிகளால் பிரிக்கப்படுகின்றன என்று வைத்துக் கொள்ளுங்கள், இது மிகவும் பொதுவானது (இது காற்புள்ளிகள் அல்லது வேறு ஏதேனும் இருந்தால், அதை கணக்கில் எடுத்துக்கொண்டு சுட்டிக்காட்ட வேண்டும்), மேலும் கோப்பில் இப்போது உள்ளது: archlinux debian ubuntu kaos fedora slackware entoo

      நாம் விரும்பும் புலத்தை awk நேரடியாக நமக்குத் தருவதால், கடைசி வரை அதை ஒவ்வொன்றாகக் காண்பிக்க வேண்டும். 7 புலங்கள் உள்ளன, ஏனெனில் இது NF இன் மதிப்பு (புலங்களின் எண்ணிக்கை). நான் i = 1 என்ற கவுண்டரை அமைத்துள்ளோம், இதனால் அது முதல் புலத்தை ($ 1) நமக்குக் காண்பிக்கும், மேலும் கடைசி புலத்தை (NF) தாண்டாமல் ஒரு யூனிட் (i ++ ஐப் பயன்படுத்தி) அதிகரிக்க வேண்டும்.

      awk '{for (i = 1; i <= NF; i ++) {print $ i} dist' distros.txt

      1.    எட்டேமெனங்கி அவர் கூறினார்

        மிகவும் நடைமுறை வழி, நினைவில் கொள்வது எளிது மற்றும் இரு புலன்களுக்கும் இது வேலை செய்கிறது:
        பூனை distros.txt | tr '\ n' '' ← கிடைமட்ட stdout வெளியீடு (ஏற்கனவே மேலே விவாதிக்கப்பட்டது)
        பூனை distros.txt | tr '' '\ n' செங்குத்து stdout வெளியீடு

        நன்றி!

    2.    ஜுவான்ட் அவர் கூறினார்

      வரிசையில் இருந்து நெடுவரிசைக்கு ஒரு எளிய மாற்றத்தை மட்டுமே நீங்கள் விரும்பினால் நிச்சயமாக இரு வழிகளிலும் எட்டெமனங்கியின் தீர்வு நன்றாக இருக்கும்.

    3.    ஜோஸ் ஜி.டி.எஃப் அவர் கூறினார்

      பதிலளித்த அனைவருக்கும் நன்றி. நான் செய்யும் அடுத்த ஸ்கிரிப்டில் அவற்றை நடைமுறைக்குக் கொண்டு வருகிறேன்.

      வாழ்த்துக்கள்.

  9.   பூனை அவர் கூறினார்

    நீங்கள் மட்டுமே செய்தால்:
    எதிரொலி cat (பூனை distros.txt)

  10.   அன்சன் ரோட்ரிக்ஸ் அவர் கூறினார்

    இன்னும் எளிதானது:
    awk '{printf $ 0 ″ «dist' distros.txt