Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: Laiskamato - 18.06.13 - klo:22.10

Otsikko: Tekstitiedoston järjestely ja käsittely päättellä [Ratkaistu]
Kirjoitti: Laiskamato - 18.06.13 - klo:22.10
Miten aapo.txt tiedosto esim:

aappo
phaapo
pzaapo
tziipo
ciipo

muutetaan uuteen aapo_2.txt tiedostoon ja aakkosjärjestykseen ja select box muotoon joka olisi muotoa:

<option value="aapo">aapo</option>
<option value="ciipo">ciipo</option>
<option value="phaapo">phaapo</option>
<option value="pzaapo">pzaapo</option>
<option value="tziipo">tziipo</option>

Mitenkä temppu tehdään?
Otsikko: Vs: Pääte varmaan olisi avuksi?
Kirjoitti: Tomin - 18.06.13 - klo:22.43
Koodia: [Valitse]
$ cat >> aapo.txt
aappo
phaapo
pzaapo
tziipo
ciipo
$ cat aapo.txt |sort |awk '{print "<option value=\""$0"\">"$0"</option>"}' > aapo_2.txt
$ cat aapo_2.txt
<option value="aappo">aappo</option>
<option value="ciipo">ciipo</option>
<option value="phaapo">phaapo</option>
<option value="pzaapo">pzaapo</option>
<option value="tziipo">tziipo</option>
$
Tuosta voinee aloittaa.

Muokkasin aloitusviestin otsikkoa, koska mielestäni vanha aihe ei ollut kovin kuvaava.
Otsikko: Vs: Pääte varmaan olisi avuksi?
Kirjoitti: SuperOscar - 18.06.13 - klo:23.01
Koodia: [Valitse]
$ cat aapo.txt |sort |awk '{print "<option value=\""$0"\">"$0"</option>"}' > aapo_2.txt

Tässä nimenomaisessa tapauksessa taitaa muuten olla samantekevää, vaikka putkitettaisiin ensin awkille ja vasta sitten sortille :)
Otsikko: Vs: Tekstitiedoston järjestely ja käsittely päättellä
Kirjoitti: Laiskamato - 19.06.13 - klo:09.28
Toi SuperOscarin koodi alko pelittään.
Vielä yksi kysymys.
Millä komennolla poistetaan duplikaatit aapo.txt tiedostosta?
Otsikko: Vs: Tekstitiedoston järjestely ja käsittely päättellä
Kirjoitti: Tomin - 19.06.13 - klo:14.51
Toi SuperOscarin koodi alko pelittään.
;D

Millä komennolla poistetaan duplikaatit aapo.txt tiedostosta?
Lisää sortille -u vipu eli:
Koodia: [Valitse]
cat aapo.txt |sort -u |awk '{print "<option value=\""$0"\">"$0"</option>"}' > aapo_2.txt
Otsikko: Vs: Tekstitiedoston järjestely ja käsittely päättellä
Kirjoitti: SuperOscar - 19.06.13 - klo:20.45
Minulle on tänä vuonna nähtävästi tullut taito hankkia ansiotonta kiitosta ::)
Otsikko: Vs: Tekstitiedoston järjestely ja käsittely päättellä [Ratkaistu]
Kirjoitti: Laiskamato - 20.06.13 - klo:07.02
Kiitoksia hyvistä ohjeista herrat Tomin ja SuperOscar.
Niistä oli todella apua.

Otsikko: Vs: Tekstitiedoston järjestely ja käsittely päättellä [Ratkaistu]
Kirjoitti: ajaaskel - 26.06.13 - klo:23.04
Myös pelkkä "echo" tekee tuon täydennysoperaation pikku silmukalla, otetaan havainnollisuuden vuoksi aluksi näytölle tuo:

Koodia: [Valitse]
#!/bin/bash
while read -r nimi
do
a='<option value="@">@</option>'; echo ${a//@/$nimi}
done < "aapo.txt"

Tuosta se menee uuteen tiedostoon pikku muutoksilla:

Koodia: [Valitse]
#!/bin/bash
rm aapo2.txt &>/dev/null
while read -r nimi
do
a='<option value="@">@</option>'; echo ${a//@/$nimi} >>aapo2.txt
done < "aapo.txt"

Tuohon on helppoa täydennellä vaikka se "sort" tai keksiä jotain muuta, ei muuta kuin soveltamaan.

Tallenna tuo vaikka "muunna" nimellä ja anna ajo-oikeus:

Koodia: [Valitse]
chmod +x muunna
ja sitten vain ajat:

Koodia: [Valitse]
./muunna
Ai että et halua tallettaa ensin tiedostoon ?  No kirjoitetaan tuo sitten yhdelle riville:

Koodia: [Valitse]
rm aapo2.txt &>/dev/null; while read -r nimi; do a='<option value="@">@</option>'; echo ${a//@/$nimi} >>aapo2.txt; done < "aapo.txt"
Ei ehkä niin havainnollinen mutta tekee saman asian kun tuon rimpsun kopioi ehjänä päätteeseen ja antaa enter: in perään. Hauskaa tämä bash !