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í
×
včera 14:33 | Nová verze

Byla vydána nová verze 1.30 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
včera 14:22 | Nová verze

Deset dnů po představení beta verze byla vydána stabilní verze Steam Linku pro Raspberry Pi umožňující streamovat hry ve službě Steam z počítače na televizní obrazovku.

Ladislav Hagara | Komentářů: 2
13.12. 20:00 | Nová verze

Byla vydána (YouTube) verze 2018.3 multiplatformního herního enginu Unity (Wikipedie). Přehled novinek i s videoukázkami v příspěvku na blogu a v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
13.12. 19:33 | Nová verze

Byla vydána verze 18.12.0 KDE Aplikací (KDE Applications). Přehled novinek v kompletním seznamu změn a na stránce s dalšími informacemi. Správce souborů Dolphin umí nově například zobrazovat náhledy dokumentů vytvořených v LibreOffice a aplikací ve formátu AppImage. Konsole plně podporuje obrázkové znaky emoji. V Okularu lze k pdf souborům přidávat poznámky.

Ladislav Hagara | Komentářů: 8
13.12. 17:11 | Nová verze

Byla vydána nová stabilní verze 2.2 (2.2.1388.34) webového prohlížeče Vivaldi (Wikipedie). Z novinek vývojáři zdůrazňují například vylepšení správy listů - vybrané listy lze uložit jako relaci, možnost zobrazení klávesových zkratek určených webovou stránkou nebo možnost přehrávání videí v režimu obrazu v obraze. Nejnovější Vivaldi je postaveno na Chromiu 71.0.3578.85.

Ladislav Hagara | Komentářů: 7
13.12. 14:22 | Nová verze

Po 4 měsících vývoje od vydání verze 3.0.0 byla vydána nová verze 3.1.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 189 vývojářů. Provedeno bylo více než 1 900 commitů. Přehled úprav a nových vlastností v seznamu změn.

Ladislav Hagara | Komentářů: 1
13.12. 01:32 | Nová verze

Letos bylo v komunitě Mageia hodně změn. Po volbě nových vedoucích přišla velká aktualizace a krátce na to udržovací verze 6.1. 7.12., dle plánu, vyšla Mageia s číslem 7 v její první beta verzi. Chyby můžete hlásit v bugzille. Chyby v českých překladech pak na fóru české komunity.

Joelp | Komentářů: 2
13.12. 00:11 | Zajímavý projekt

Kvůli rychlejšímu vývojovému cyklu byla přemístěna Cinelerra-gg. Cinelerra-gg je fork Cinelerry-hv. Některé rozdíly forků popisuje sám hlavní vývojář William Morrow (aka GoodGuy). Není zde popsán i fork Lumiera, zřejmě kvůli zatím nepoužitelnému stavu.

… více »
D81 | Komentářů: 0
12.12. 19:11 | Nová verze

Do aplikace pro instant messaging Telegram (Wikipedie) lze nově nahrát češtinu. Více v příspěvku na blogu Telegramu.

Ladislav Hagara | Komentářů: 7
12.12. 10:55 | Nová verze

Jean-Baptiste Kempf, prezident neziskové organizace VideoLAN stojící za svobodným multiplatformním multimediálním přehrávačem a frameworkem VLC, oznámil v příspěvku na svém blogu vydání první oficiální verze 0.1.0 v říjnu představeného dekodéru svobodného videoformátu AV1 (AOMedia Video 1) s názvem dav1d (Dav1d is an AV1 Decoder). Jedná se o alternativu k referenčnímu dekodéru libaom. Kódový název dav1da verze 0.1.0 je Gazelle.

Ladislav Hagara | Komentářů: 3
Chystáte se přejít na Wayland na „desktopu“?
 (25%)
 (6%)
 (13%)
 (31%)
 (25%)
Celkem 127 hlasů
 Komentářů: 19, poslední včera 18:37
Rozcestník

Dotaz: Jak vytvořit kopii souboru

14.12.2017 23:13 Dejv
Jak vytvořit kopii souboru
Přečteno: 524×
Ahoj

normálně používám cp ale potřebuji to udělat jinak, potřebuji načíst celý soubor do proměnné a pak obsah z proměnné uložit do jiného souboru. Jedná se o BASH script. Snad někdo poradí. Předem díky.

Odpovědi

14.12.2017 23:20 Kit | skóre: 42 | Brno
Rozbalit Rozbalit vše Re: Jak vytvořit kopii souboru
cat zdroj > cíl
Přes proměnnou je to trochu komplikovanější:
TEMP=`cat zdroj`
echo -n "$TEMP" > cíl
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
14.12.2017 23:35 Dejv
Rozbalit Rozbalit vše Re: Jak vytvořit kopii souboru
Děkuji, ale slovo 'pak' nebylo v tomto případě velmi vhodné, opravuji na slovo 'později'.

Jinými slovy, potřebuji to v té proměnné (v tom souboru) uchovat, nevím jak to popsat, zkusí to znova.

Jde napsat v BASH script, který vytvoří nový soubor, v tom souboru vytvoří nějakou VAR, do té se načte obsah toho souboru (zdroj) a soubor uloží.
15.12.2017 09:12 figliar0
Rozbalit Rozbalit vše Re: Jak vytvořit kopii souboru
Coze?

Mozno by bolo lepsie napisat, co vlastne chces docielit... Ak som to spravne pochopil, chces ulozit do suboru premennu, v ktorej bude ulozeny obsah suboru? To sa podla mna neda a je to hlupost - vsak uz predsa mas ten subor ulozeny...
Jendа avatar 15.12.2017 09:53 Jendа | skóre: 75 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: Jak vytvořit kopii souboru
Podle mě chce mktemp.
15.12.2017 09:59 vaše jméno
Rozbalit Rozbalit vše Re: Jak vytvořit kopii souboru
Co predstavujes pod pojmem "vytvorit VAR v souboru"?
15.12.2017 14:09 rastos | skóre: 61 | blog: rastos
Rozbalit Rozbalit vše Re: Jak vytvořit kopii souboru
Premenná neexistuje ako nejaký nezávislý objekt. Zoznam premenných a ich hodnôt udržiava shell. Keď pustíš jeden shell, tak ten má svoj zoznam premenných a iný shell má iný zoznam premenných. Ak sa pustí skript, tak na jeho vykonanie sa pustí ďalší shell a ten bude mať svoj vlastný zoznam premenných a ich hodnôt. Keď shell skončí, tak pamäť, ktorú používa sa uvoľní a tým pádom premenné toho shell-u zanikajú. Ak jeden shell spustí iný shell, tak ten spustený (potomok) bude vidieť tie premenné (a ich hodnoty), ktoré rodič exportoval príkazom export.

To treba vstrebať a z toho potom vyplynú mnohé odpovede.

Tiež si treba uvedomiť, že súbor môže byť binárny (obsahovať nielen čitateľný text) a môže mať trebárs aj pár terabajtov. Preto nie je dosť dobré možné dať dobrú odpoveď na to, ako obsah súboru uchovať v premennej shell-u.

Ak trváš na tom, že problém chceš riešiť zrovna takto, tak navrhujem, že ten problém popíšeš nejakým pseudo-kódom. Proste predpokladaj, že existujú nejaké elementárne konštrukcie a nástroje, ktoré by tvoj problém vyriešili, popíš to, a potom sa môžeme pokúsiť prerobiť tak, aby to naozaj fungovalo.
Jendа avatar 15.12.2017 09:52 Jendа | skóre: 75 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: Jak vytvořit kopii souboru
To se rozbije pro binární soubory nebo třeba když v tom souboru bude napsáno "-n".
15.12.2017 10:42 Kit | skóre: 42 | Brno
Rozbalit Rozbalit vše Re: Jak vytvořit kopii souboru
Souhlasím, má to své mouchy. Sám bych to nepoužil, ale snažil jsem se alespoň částečně odpovědět na to nesmyslné zadání.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
15.12.2017 14:35 Andrej | skóre: 45 | blog: Republic of Mordor | Zürich
Rozbalit Rozbalit vše Re: Jak vytvořit kopii souboru
Ono je to zadání možná ještě nesmyslnější, než bylo napsáno v původním dotazu, jak se ukázalo o pár vláken výše. I přesto bych k tomu rád přičinil jednu poznámku:
var='-n -n -n'
cat > nějaký_soubor <<<"$var"
ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
17.12.2017 13:46 base64
Rozbalit Rozbalit vše Re: Jak vytvořit kopii souboru
To se rozbije pro binární soubory nebo třeba když v tom souboru bude napsáno "-n".
Ano, lebo robi len to, co mu povies. ...

Nie je problem spravit aj nacitanie binarneho suboru. Sprav tak, ze v premenne bude ukladane/nacitane zakodovane, napr. base64.
15.12.2017 15:04 Andrej | skóre: 45 | blog: Republic of Mordor | Zürich
Rozbalit Rozbalit vše Re: Jak vytvořit kopii souboru

Soudě podle tohoto komentáře, myslím, že se snažíš uložit soubor do proměnné prostředí. (Aby se pak dal odtud znova přečíst zase ve stejném interaktivním shellu.)

To ale nemůžeš udělat skriptem spouštěným v samostatném shellu, protože shell interpretující skript nemůže nijak ovlivnit proměnné prostředí procesu, který ho spustil. Takže skript sice uvidí všechny proměnné, které jsi ve svém interaktivním shellu exportoval, ale nemůže je nijak změnit ani k nim přidat nové. Přesněji, všechny změny, které udělá, zůstanou jen v jeho adresním prostoru [pořád extrémně zjednodušeno] a nebudou mít žádný vliv na ten původní shell, který celý skript (interpretovaný druhým, neinteraktivním shellem) spustil.

Můžeš ale docílit něčeho podobného, když si skript zainlinuješ (pomocí . nějaký_skript.sh). Takový skript se pak vykoná přímo v kontextu toho interaktivního shellu (bez spouštění odděleného procesu) a může tedy měnit jeho proměnné.

Ještě lepší je použít funkce. A nejlepší je dát je třeba do ~/.bashrc, aby byly všude dostupné.

cp_file_var() {
  eval "$2"='"$(cat "$1")"'
}

cp_var_file() {
  cat > "$2" <<< "${!1}"
}

Příklad použití:

cp_file_var /proc/cpuinfo cpuinfo_snapshot
cp_var_file cpuinfo_snapshot /tmp/cpuinfo

diff /{proc,tmp}/cpuinfo  # Frekvence se můžou lišit.
echo "$cpuinfo_snapshot"  # Jo, fakt je to proměnná.

Asi bych ale něco takového nezkoušel na jiné soubory než textové. :-)

ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
17.12.2017 19:10 jiwopene | skóre: 11
Rozbalit Rozbalit vše Re: Jak vytvořit kopii souboru
První, co mne napadlo byl tee:
PROMENNA=`cat zdroj|tee cil`
Kopíruje data ze zdroje do cile a zapisuje do proměnné PROMENNA (do obou míst ve "stejnou" chvíli, bez ukládání do proměnné před uložením na disk).
.sig virus 3.2_cz: Prosím, okopírujte tento text do vaší patičky.
17.12.2017 19:14 jiwopene | skóre: 11
Rozbalit Rozbalit vše Re: Jak vytvořit kopii souboru
Proměnnou dejte při používání do uvozovek, aby soubor zůstal vcelku.
$ cat >file0
aaa bbb
ccc ddd

$ VAR=$(cat file0|tee file1)

$ echo $VAR
aaa bbb ccc ddd

$ echo "$VAR"
aaa bbb
ccc ddd
.sig virus 3.2_cz: Prosím, okopírujte tento text do vaší patičky.

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.