Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: VOJ - 01.03.11 - klo:06.21
-
Olen yrittänyt keksiä miten saisin aikaiseksi yksinkertaisen bash-skriptin, joka yhdistäisi rivin edelliseen riviin silloin kun rivi alkaa pienellä kirjaimella.
Taidot eivät vaan oikein riitä.
Vinkeistä olisi apua. Kiitos.
-
Olen yrittänyt keksiä miten saisin aikaiseksi yksinkertaisen bash-skriptin, joka yhdistäisi rivin edelliseen riviin silloin kun rivi alkaa pienellä kirjaimella.
Taidot eivät vaan oikein riitä.
Vinkeistä olisi apua. Kiitos.
Onko se oltava puhdasta bash:ia?
Kai tuo onnistuu mutta jos hommalla kiire niin olisiko perl mitään ;)
-
Onko se oltava puhdasta bash:ia?
Kai tuo onnistuu mutta jos hommalla kiire niin olisiko perl mitään ;)
Aamusta taisi olla vielä aivot kohmeessa. Tarkoitin että olen tutkinut awkia ja sediä ko. tarkoitukseen. Täytynee alkaa tutustua perliin. Ei ole vaan ennen tullut käytettyä sitä. W-tyylillä olisin varmaan jo tehnyt sen Qbasicillä.
-
Onko se oltava puhdasta bash:ia?
Kai tuo onnistuu mutta jos hommalla kiire niin olisiko perl mitään ;)
Aamusta taisi olla vielä aivot kohmeessa. Tarkoitin että olen tutkinut awkia ja sediä ko. tarkoitukseen. Täytynee alkaa tutustua perliin. Ei ole vaan ennen tullut käytettyä sitä. W-tyylillä olisin varmaan jo tehnyt sen Qbasicillä.
Olisko tuosta pohjaksi ja malliksi?
#!/usr/bin/perl -w
open(IN,$ARGV[0]);
while(<IN>)
{
chomp();
$alkukirjain=substr($_,0,1);
if($alkukirjain eq uc($alkukirjain))
{
print "\n".$_;
}
else
{
print " ".$_."";
}
}
Edit: Niinjoo, tuo $ARGV[0] on sitten ao. skriptille annettava tiedostonimi.
eli jos skripti on nimetty palikka.pl niin loitsu ./palikka tutkittava_file.txt
Ja luonnollisesti vain tekstifilet kelpaavat syötteeksi, ei mitään pakattuja ja/tai muita binäärijuttuja.
-
Pythonilla jotenkin näin... kömpelöä muttei nyt tule heti mieleen elegantimpaa ratkaisua.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from sys import argv
from string import lowercase as pienaakkoset
pienaakkoset += 'åäö'
for arg in argv[1:]:
edell = ''
for rivi in open(arg, 'r'):
if rivi[0] not in pienaakkoset:
if edell != '':
print(edell)
edell = rivi.rstrip()
else:
edell += rivi.rstrip()
if edell != '':
print(edell)
-
Toimii. Kiitoksia.