Kezdőoldal » Számítástechnika » Programozás » Hogy lehet txtből, sort...

Hogy lehet txtből, sort kimásolni py vagy shell szkripttel? A sorok száma és a szerkezete mindig ua. A sorok tartalma viszont változik. Nem az egész sort szeretném kimásolni, csak egy részét. A sor1 tartalma xy"zz"xy Én csak a "zz" részt szeretném.

Figyelt kérdés

2017. jan. 29. 20:48
1 2
 1/11 anonim ***** válasza:
Mutasd meg az első sort, mert a megfogalmazásod nem pontos.
2017. jan. 29. 21:57
Hasznos számodra ez a válasz?
 2/11 sédoiglskdjfgélksdjf ***** válasza:
Bash: cut -d "\"" -f2
2017. jan. 29. 23:06
Hasznos számodra ez a válasz?
 3/11 anonim ***** válasza:
Python: http://pastebin(pont)com/0mEDudMu
2017. jan. 29. 23:47
Hasznos számodra ez a válasz?
 4/11 sédoiglskdjfgélksdjf ***** válasza:

Ha mindenképpen python-t akar az ember erőltetni:

cat file | python -c 'for line in __import__("sys").stdin: print( line.split("\"")[1])'


(a pastebin-es megoldásban mintha az index el lenne csúszva)

2017. jan. 30. 01:36
Hasznos számodra ez a válasz?
 5/11 anonim ***** válasza:

Hopp, igen, javítva:

http://pastebin(pont)com/PyjL8xbr

2017. jan. 30. 01:49
Hasznos számodra ez a válasz?
 6/11 anonim ***** válasza:

#4, ez zseniális, köszi, nem ismertem ezt a módszert!

Windowson kicsit próbálkozni kellett vele, mert nem fogadja el az aposztrófot határolónak, aztán meg az idézőjelet nem vette be, végül így működött:

type deleteme.txt | python -c "for line in __import__('sys').stdin: print(line.split(chr(34))[1])"

2017. jan. 30. 08:59
Hasznos számodra ez a válasz?
 7/11 sédoiglskdjfgélksdjf ***** válasza:

"#4, ez zseniális, köszi, nem ismertem ezt a módszert! "

Az az igazság, hogy a python nem erre van kitalálva. Ha nem shell eszközökkel akar az ember dolgozni, akkor inkább perl, azt direkt felszerelték olyan funkcionalitással, ami a standard inputról érkező bemenet kezelését könnyíti meg:


cat file.txt | perl -F"\""-lane 'print $F[1]'


Meg ugye nagyon hasonló az awk-hoz (bár ez lehet, hogy nincs windows-ra):


cat file.txt | awk -F"\"" '{print $2}'

2017. jan. 30. 10:02
Hasznos számodra ez a válasz?
 8/11 anonim ***** válasza:
Viszont nem akarnék Perlt tanulni csak ezért, mert ez ritkán adódó feladat; sokkal egyszerűbb néha Pythonban összeütni egy scriptet, ahogy fent is láttuk. De jó tudni, hogy ilyen módon is használható.
2017. jan. 30. 10:11
Hasznos számodra ez a válasz?
 9/11 A kérdező kommentje:

Hát ez nem akar sehogy sem összejönni.

Próbálom újra megfogalmazni a kérdésem.

Tehát, egy .txt sorának változó részét szertném másolni egy másik txt fájlba.

paste.ubuntu.com/23895030/

sed -n '1p' file.txt

sikerült kiíratnom a sor teljes tartalmát, tovább még nem jutottam.

2017. jan. 30. 19:33
 10/11 anonim ***** válasza:

Bash cat + cut:

cat file.txt | cut -d">" -f2 | cut -d"<" -f1


Bash sed:

sed 's/\(.*\)<link>\(.*\)<\/link>\(.*\)/\2/' file.txt

2017. jan. 30. 20:24
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!