Shell Script - Kopirajte tekst iz jedne datoteke u drugu

Linux je vrlo robustan operativni sustav koji zahtijeva mnogo prakse i znanja. Međutim, kako se počne koristiti Linux na redovnoj osnovi, rukovanje datotekama, kopiranje, korištenje shell skripte sve postaje prilično lako i jednostavno. Ako imate problema s kopiranjem teksta iz datoteke u drugu prilikom upotrebe skripte ljuske, pročitajte članak u nastavku. Čak i netko tko je novi

Problem

Moram kopirati tekst između početnog i završnog uzorka iz jedne datoteke u drugu.

Na primjer,

Recimo da imam datoteku sa sljedećim sadržajem:

 Pozdrav world1 hello world2 hello world3 Pozdrav world4 hello world5 bip 

Trebam skriptu ljuske koja može proizvesti sljedeću datoteku:

 Pozdrav world2 hello world3 Pozdrav world4 hello world5 bip 

Ne znam brojeve redaka za raspon koji želim kopirati, samo želim kopirati iz pojavljivanja "hello world2" u pojavu "hello world5" + 1 redak

U slučaju da se pitate što pokušavam učiniti ovdje, želim pokrenuti izvatak niti na mom računalu koristeći -3, ali izlaz za to ide na standardni izlaz koji je u mom slučaju usmjeren na jboss out datoteku koja ima mnogo drugih zapisa u njemu. Dakle, želim pokrenuti ovu skriptu kako bi izdvojio izvatke s nitima u zasebnu datoteku nakon što je ubojstvo izvršeno. Nepotrebno je reći da u datoteci jboss.out može biti više od jednog izvatka niti.

Riješenje

Najjednostavniji način, ako je vaša ulazna datoteka na /folder/somefile.txt,

 # Script lines.txt # Pročitajte ulaznu datoteku u string varijablu. var str unos; cat "/folder/somefile.txt"> $ input # Uklonite sve prije "hello world2". stex "] ^ hello world2 ^" $ input> null # Ukloni sve nakon "hello world5n". stex "^ hello world5n ^ [" $ input> null # $ unos sada ima samo željeni dio. Ispišite ga. echo $ input 

TheScript je u biterscriptingu (//www.biterscripting.com). Da biste pokušali, spremite skriptu kao /Scripts/lines.txt, pokrenite biterscripting i unesite sljedeću naredbu.

skripta lines.txt

Skripta se također može pozvati izravno iz drugog programa ili druge ljuske, kao,

/biterScripting/biterScripting.exe lines.txt

Provjerite koristite li umjesto datoteke /folder/somefile.txt ispravnu lokaciju datoteke. Zabilježite dvostruke navodnike, ^, [i] u sintaksi naredbe string extractor. Slobodno prevedite skriptu na bilo koji drugi jezik.

Bilješka

Zahvaljujući SenHu za ovaj savjet na forumu.

Prethodni Članak Sljedeći Članak

Top Savjeta