Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Obecná podpora => Téma založeno: zdenek00 27 Února 2014, 20:32:13

Název: Sloučení řádků v textových souborech přes comand promt v scriptech [vyřešeno]
Přispěvatel: zdenek00 27 Února 2014, 20:32:13
Dobrý den jsem tady nový,chtěl bych se zeptat jestli někdo neví jak sloučit řádky v tex. souborech a to takto    text1                                   text2           výsledek   vystup
        1  Kamil                               1 Kramný                        1 Kamil Kramný
        2  Radka                              2 Miklová                        2 Radka Miklová
        3  Mirek                               3 Tlukoč                         3 Mirek Tlukoč
zkoušel jsem to pomocí příkazu paste,ale nefunguje to,respektive neumí najít přikaz paste,děkuji vám za vaše odpovědi.Na internetu jsem taky nic nenašel....
Název: Re:Sloučení řádků v textových souborech přes comand promt v scriptech
Přispěvatel: Cuore 27 Února 2014, 20:38:19
špatně hledáš
http://www.linuxsoft.cz/article.php?id_article=549 (http://www.linuxsoft.cz/article.php?id_article=549)
Název: Re:Sloučení řádků v textových souborech přes comand promt v scriptech
Přispěvatel: zdenek00 27 Února 2014, 20:48:13
 Zapomněl jsem napsat že to používam v ip Boxu v Enigmě 2 zkoušel jsem taky :
     head -c 25                                       
ipbox55:~# head -c 25 /autofs/sda5/KEY/1/I                   
head: invalid option -- 'c'                                   
BusyBox v1.21.0 (2013-04-28 00:13:39 CEST) multi-call binary.
                                                             
Usage: head [OPTIONS] [FILE]...                               
                                                             
Print first 10 lines of each FILE (or stdin) to stdout.
With more than one FILE, precede each with a filename header.
                                                             
        -n N[kbm]       Print first N lines                   
                                                             
N may be suffixed by k (x1024), b (x512), or m (x1024^2).     
                                                                     
Název: Re:Sloučení řádků v textových souborech přes comand promt v scriptech
Přispěvatel: ntz_reloaded 28 Února 2014, 11:52:54
man head

sak ti to pise, ze -c to nezna ..
Název: Re:Sloučení řádků v textových souborech přes comand promt v scriptech
Přispěvatel: Dano V 28 Února 2014, 13:51:56
Ten príklad na spájanie  zvládne
Kód: [Vybrat]
join 1.txt 2.txt z toho odkazu čo postol Cuore
Název: Re:Sloučení řádků v textových souborech přes comand promt v scriptech
Přispěvatel: zdenek00 28 Února 2014, 18:39:29
JOIN ani PASTE nezná ..... ipbox55:~# join /autofs/sda5/KE/1/D  /autofs/sda5/KE/1/R   
-sh: join: not found                                         
ipbox55:~#                                                   
Název: Re:Sloučení řádků v textových souborech přes comand promt v scriptech
Přispěvatel: Petr Merlin Vaněček 28 Února 2014, 19:43:09
Heh, vím, že to je asi pěkná prasárna, ale tohle to bude i zároveň sortovat dle prvního souboru:
Kód: [Vybrat]
cat soubor1 | while read LINE; do echo $LINE $(grep `echo $LINE | sed -nr 's/(.*)\ (.*)/\1/p'` soubor2 | sed -nr 's/(.*)\ (.*)/\2/p');done

Je samosebou otázka, zda je na BusyBoxu grep a sed ...
Název: Re:Sloučení řádků v textových souborech přes comand promt v scriptech
Přispěvatel: GdH 28 Února 2014, 20:40:13
Pokud stačí dva soubory spojit řádek proti řádku s vynecháním prvního sloupce druhého souboru, tak třeba takto:
Kód: [Vybrat]
c=0; while read l; do c=$((c+1)); echo $l $(sed -n "$c s/[^ ]* //p" soubor2); done < soubor1
Edit: likvidace jednoho bashismu :)
Edit2: Pro jistotu ještě "[^ ]* " místo ".* "
Název: Re:Sloučení řádků v textových souborech přes comand promt v scriptech
Přispěvatel: Dano V 28 Února 2014, 20:44:46
...Je samosebou otázka, zda je na BusyBoxu grep a sed ...
Je. >>>Busy Box (http://busybox.net/downloads/BusyBox.html)
Název: Re:Sloučení řádků v textových souborech přes comand promt v scriptech
Přispěvatel: zdenek00 28 Února 2014, 23:41:59
Chlapci jste mistři,je vidět že tomu rozumíte-velké díky oba příklady fungují