Úprava textového souboru pomocí sedu nebo něčeho podobného – OS - GNU / Linux – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Úprava textového souboru pomocí sedu nebo něčeho podobného – OS - GNU / Linux – Fórum – Programujte.comÚprava textového souboru pomocí sedu nebo něčeho podobného – OS - GNU / Linux – Fórum – Programujte.com

 

Radek
~ Anonymní uživatel
133 příspěvků
9. 7. 2007   #1
-
0
-

Ahoj,
mám textové soubory, kde jsou na každém řádku 3 čísla oddělené mezerami. A já bych potřeboval smazat vždy první číslo na řádku, včetně mezery. Se sedem nejsem moc velký kamarád, takže nejsem schopný sesmolit ten příkaz. Prosím, poraďte mi někdo nebo budu 14 dní jenom datlovat do klávesnice a vše umazávat ručně. Nemusí to být jenom pro sed. Klidně to může být awk nebo něco podobného. Předem děkuji.

Nahlásit jako SPAM
IP: ...–
Tommz.0
Stálý člen
9. 7. 2007   #2
-
0
-

sed "s/[0-9]\+\ \([0-9]\+\ [0-9]\+\)/\1/g"


Jinak doporučuji se to naučit, regulární výrazy se hodí všude. ;-)

A též myslím, že kdybys hodil dotaz někam jinam než do diskuse o Linux, tak dostaneš odpověď dříve.

Nahlásit jako SPAM
IP: ...–
Radek
~ Anonymní uživatel
133 příspěvků
9. 7. 2007   #3
-
0
-

To tommz9:
Díky, to je přesně to co potřebuji. Naučit bych se to chtěl, ale bohužel to není jen o regulárních výrazech, ale taky o parametrech sedu atd. A momentálně nemám moc času. Moc si mi pomohl, díky. A do jaké diskuse na těchto stránkách bys to umístil ty? Mi přišla tato právě jako nejvhodnější z nabídky.

Nahlásit jako SPAM
IP: ...–
Radek
~ Anonymní uživatel
133 příspěvků
9. 7. 2007   #4
-
0
-

To tommz9:
Měl bych na Tebe ještě jednu prosbu, tedy pokud by to byl taky nějaký jednoduchý příkaz na jeden řádek. Mám 2 textové soubory, z nichž ve druhém je na každém řádku jen jedno číslo. To číslo značí číslo řádku prvního souboru, který se má vypsat na výstup. Oba vstupní soubory mají tedy stejný počet řádků. Pokud by to byl nějaký jednoduchý příkaz a nedělalo by Ti problém to tu nadatlovat, byl bych Ti moc vděčný. Ale každopádně děkuji za pomoc a snahu.

Nahlásit jako SPAM
IP: ...–
Tommz.0
Stálý člen
10. 7. 2007   #5
-
0
-

moc jsem to nepochopil :-)

jakoze ty mas soubory

1.

a

b
c


2.


2
1
3


a chceš aby to vypsalo



b
a
c


??

Jestli jo, tak to mas par řádků v pythonu nebo něčem ...

Nahlásit jako SPAM
IP: ...–
Radek
~ Anonymní uživatel
133 příspěvků
10. 7. 2007   #6
-
0
-

To tommz9:
Ano pochopil si to přesně. Přesně takovou operaci potřebuji nad těmi soubory provést.

Nahlásit jako SPAM
IP: ...–
Tommz.0
Stálý člen
12. 7. 2007   #7
-
0
-

aha, no tak jestli na to nespěcháš, tak ti to napíšu až přijdu z práce večer ...

Nahlásit jako SPAM
IP: ...–
Tommz.0
Stálý člen
12. 7. 2007   #8
-
0
-

Mělo by to fungovat, vyzkoušej :



#!/usr/bin/python

import sys

def main():
if not len(sys.argv) == 3:
print "use :", sys.argv[0], "file1 file2"
print "reads from file1 in order given by file2"
return -1

lines = []
for i in 1,2:
try:
lines.append(open(sys.argv[i]).readlines())
except IOError:
print "error, no such file or directory:", sys.argv[i]
return -1

for i in lines[1]:
print lines[0][int(i)-1].strip()

if __name__ == "__main__":
main()

Nahlásit jako SPAM
IP: ...–
Radek
~ Anonymní uživatel
133 příspěvků
12. 7. 2007   #9
-
0
-

To tommz9:
Díky moc, to je přesně to co potřebuji. Já už ani nedoufal, že se tím budeš ještě zabývat. Ale vidím, že když to někdo umí, tak je to pro něho hračka. Ještě jednou díky.

Nahlásit jako SPAM
IP: ...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 3 hosté

Podobná vlákna

Mapa z textového souboru? — založil hráč

Šifrování textového souboru — založil skodik.o

Procházení textového souboru — založil dragon124

Cteni z textoveho souboru — založil tomas

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý