abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 19:55 | Nová verze

Po dvou letech od vydání verze 3.0 byla vydána nová major verze 4.0 nástrojů LXC, LXD a LXCFS pro kontejnerovou virtualizaci LXC (LinuX Containers). Jedná se o verzi s dlouhodobou podporou (LTS). Ta končí v červnu 2025. Přehled novinek v jednotlivých oznámeních o vydání: LXC, LXD a LXCFS.

Ladislav Hagara | Komentářů: 0
dnes 16:11 | Humor

Řada firem své letošní již připravené aprílové žertíky kvůli SARS-CoV-2 a COVID-19 nezveřejnila. Přehled zveřejněných například na April Fools' Day On The Web. Na CoinMarketCapu byla přidána nová kryptoměna: toaleťáky. Ve hře World of Tanks jsou vylepšené tanky, v PUBG nový herní mód Fantasy Battle Royale, …

Ladislav Hagara | Komentářů: 2
dnes 15:22 | Zajímavý projekt

Komunity KDE a GNOME, které doposud vyvíjely příslušná desktopová prostředí, se rozhodly přestat tříštit síly a představují společný projekt KNOME, který nabídne konfigurovatelnost GNOME a jednoduchost KDE v jednom balíčku. Staví na technologiích QTK3 a Kutter.

Fluttershy, yay! | Komentářů: 15
dnes 14:11 | Nová verze

Tradičně na apríla byla vydána nová stabilní verze OpenTTD (Wikipedie), tj. open source klonu hry Transport Tycoon Deluxe. Přehled novinek v nejnovější verzi 1.10.0 v seznamu změn. Starší verzi OpenTTD lze vyzkoušet také v prohlížeči.

Ladislav Hagara | Komentářů: 0
dnes 06:00 | Nová verze

Po čtyřech a půl měsících vývoje od vydání verze 5.3 byla vydána nová verze 5.4 svobodného open source redakčního systému WordPress. Kódové označení Adderley bylo vybráno na počest amerického jazzového trumpetisty Nata Adderleyho.

Ladislav Hagara | Komentářů: 0
včera 23:44 | IT novinky

Association for Computing Machinery vzhledem k probíhající pandemii COVID-19 nabízí bezplatný přístup do databáze publikací ACM Digital Library, a to do 30. června 2020.

Fluttershy, yay! | Komentářů: 2
včera 23:11 | IT novinky

Humble Bundle nabízí balík her (některých multiplatformních a/nebo bez DRM), knih, komiksů,… za cenu alespoň €28. Akce Humble Conquer COVID-19 Bundle probíhá do 7. dubna. Výtěžek bude věnován humanitárním/charitativním organizacím Lékaři bez hranic, Direct Relief, International Rescue Committee a Partners In Health.

Fluttershy, yay! | Komentářů: 7
včera 18:44 | Komunita

Český LibreOffice tým vydává překlad příručky LibreOffice Online. Příručka vznikla překladem anglického originálu, který byl vytvořen v rámci projektu Google Season of Docs 2019. Příručka je ke stažení na českých stránkách LibreOffice. Český tým pokračuje s překladem příručky Začínáme s LibreOffice a hledá další dobrovolníky pro překlad z angličtiny a revize přeloženého textu.

Zdeněk Crhonek | Komentářů: 0
včera 17:55 | Nová verze

Theia je nové modulární vývojové prostředí (IDE) určené k běhu jako webová aplikace a modifikovatelné pomocí doplňků kompatibilních s MS Visual Studio Code. Vývoj zaštiťuje Eclipse Foundation. Více v oznámení vydání verze 1.0.

Fluttershy, yay! | Komentářů: 1
včera 17:44 | Upozornění

V souvislosti s nedávnými kybernetickými útoky na nemocniční zařízení v České republice nabídl Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) ve spolupráci se sdružením CZ.NIC, správcem české národní domény a provozovatelem Národního bezpečnostního týmu CSIRT.CZ, pomoc klíčovým zdravotnickým subjektům, na které se vztahuje reaktivní opatření NÚKIB.

Ladislav Hagara | Komentářů: 2
Chodíte do práce?
 (13%)
 (0%)
 (4%)
 (0%)
 (57%)
 (26%)
 (0%)
Celkem 23 hlasů
 Komentářů: 1, poslední dnes 14:40
Rozcestník

www.AutoDoc.Cz

Dotaz: Jak vypsat string ze souboru

27.1.2019 21:32 dnes
Jak vypsat string ze souboru
Přečteno: 567×
Ahoj.

V souboru data mám čtyři řádky
1-abcd
20-efgh
300-ijkl
4000-mnop
pomůže někdo jak vypsat string "ijkl" pomocí bashe? Znám jenom čísla před pomlčkou, string za pomlčkou neznám.

Děkuji za pomoc.

Řešení dotazu:


Odpovědi

27.1.2019 22:05 camel1cz | skóre: 25
Rozbalit Rozbalit vše Re: Jak vypsat string ze souboru
bashem nevím, ale jinak je možnosti plno... napr. sed, awk nebo grep+cut

27.1.2019 22:23 Aleš Kapica | skóre: 49 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Jak vypsat string ze souboru
grep ^300- soubor.txt

Jinak bash, to je v podstatě jakési lepidlo pro různé nástroje. V tomto případě by sis ještě vysledem měl oříznout.
xkucf03 avatar 27.1.2019 23:45 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Jak vypsat string ze souboru
Což jde třeba sedem nebo i tím grepem, když zapneme Perlovské regulární výrazy:
$ cat data.txt 
1-abcd
20-efgh
300-ijkl
4000-mnop

$ cat data.txt | grep -oP '(?<=300-).*'
ijkl
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
Bystroushaak avatar 28.1.2019 13:27 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Jak vypsat string ze souboru
Taky to jde klasicky cutem:
$ grep 300 data.txt | cut -d "-" -f 2
ijkl
k3dAR avatar 29.1.2019 03:04 k3dAR | skóre: 58
Rozbalit Rozbalit vše Re: Jak vypsat string ze souboru
btw: UUOC ;-) =>
$ grep -oP '(?<=300-).*' data.txt
ijkl
porad nemam telo, ale uz mam hlavu... nobody
xkucf03 avatar 29.1.2019 07:56 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše UUoC

UUoC znám, ale příkazy/roury mi přijdou čitelnější, když v nich data tečou zleva doprava.

Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
Řešení 1× (lertimir)
29.1.2019 02:26 Andrej | skóre: 47 | blog: Republic of Mordor | Zürich
Rozbalit Rozbalit vše Re: Jak vypsat string ze souboru

Místní klasika: Tazatel se ptá na bash, ale respondenti místo toho vymýšlejí grep, sed, awk a kdovíco všechno ještě a pak to nakonec vyeskaluje do extrémů typu perl. :-D Trochu jako v politice, že jo…

key=300  # co má být před pomlčkou

while read line; do
  if [[ "$line" = "$key"-* ]]; then
    echo "${line#*-}"
    break  # jen první shoda (?)
  fi
done < /cesta/k/tomu/souboru
ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
xkucf03 avatar 29.1.2019 08:01 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Jak vypsat string ze souboru

Na tohle jsem taky myslel, ale nechtělo se mi s tím psát :-) Nicméně je dobré, že sem toto řešení píšeš.

Jinak ale PCRE neznamená, že by v tom nějak figuroval Perl – jsou to pouze regulární výrazy v syntaxi kompatibilní s těmi Perlovými.

Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
Bystroushaak avatar 29.1.2019 09:32 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Jak vypsat string ze souboru
Nevolá = program test?
xkucf03 avatar 29.1.2019 17:31 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Jak vypsat string ze souboru
$ type test
test je součást shellu
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
Bystroushaak avatar 29.1.2019 20:13 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Jak vypsat string ze souboru
$ whereis test
test: /usr/bin/test /usr/share/man/man1/test.1.gz
$ file /usr/bin/test
/usr/bin/test: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=3de4ee302f56bd8e08a64b0d827e165750b3b65f, stripped
Ale asi jn.
k3dAR avatar 29.1.2019 20:30 k3dAR | skóre: 58
Rozbalit Rozbalit vše Re: Jak vypsat string ze souboru
whereis hleda externi, bash pouzije svuj interni, stejne jako napr. sve echo, dokud nezadas ty cestu k tomu externimu...
porad nemam telo, ale uz mam hlavu... nobody
29.1.2019 20:42 Andrej | skóre: 47 | blog: Republic of Mordor | Zürich
Rozbalit Rozbalit vše Re: Jak vypsat string ze souboru

Většinou ne.

Jedna hranatá závorka je v podstatě ekvivalent příkazu test. Existuje většinou /bin/[ Jako symlink na /bin/test. To je pro shelly starší / jednodušší než bash.

Bash má [ i test jako vestavěné příkazy, takže ani jednou hranatou závorkou se v bashi externí proces nespouští. (Jde to nějak podrobněji nastavit, ale nechce se mi to hledat.)

Dvě hranaté závorky jsou vestavěná záležitost v bashi — nemají už nic společného s příkazem test a umí toho mnohem víc než test. Mají rozšířenou syntaxi, dovedou matchovat vůči „extglobům“ atd. atp.

ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
xkucf03 avatar 29.1.2019 21:11 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Vestavěné příkazy shellu

Jde to takhle:

$ type [
[ je součást shellu

$ enable -n [

$ type [
[ je /usr/bin/[

nevím, jestli existuje ještě jiný způsob (tedy kromě překompilování Bashe bez podpory určitých příkazů).

Nebo by šel naopak implementovat jako vestavěný příkaz i ten cat (myslím, že je v příkladech ve zdrojácích Bashe). Pak by to byl prostě jen jiný zápis pro < a nespouštěl by se externí příkaz. BTW: ty vestavěné příkazy se dají načíst i dodatečně z knihovny – není potřeba překompilovávat celý Bash. Takže si člověk může dopisovat vlastní příkazy…

Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.