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 13:00 | Komunita

Při prvním spuštění Ubuntu 18.04 LTS (Bionic Beaver) je spuštěn nástroj Ubuntu Report. Pokud uživatel souhlasí, jsou pomocí tohoto nástroje odeslány do Canonicalu informace o daném počítači (doba instalace, počet procesorů, rozlišení displeje, velikost paměti, časová zóna, ...). V červnu byly zveřejněny první statistiky. Podrobnější statistiky jsou nově k dispozici na samostatné stránce.

Ladislav Hagara | Komentářů: 0
dnes 01:00 | Pozvánky

O víkendu probíhá v Košicích pravidelné setkání příznivců otevřených technologií OSS Víkend. Na programu je řada zajímavých přednášek a workshopů.

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

Byla vydána nová verze 1.3 otevřeného, licenčními poplatky nezatíženého, univerzálního ztrátového formátu komprese zvuku Opus (Wikipedie) a jeho referenční implementace libopus. Vylepšena byla například detekce, zda se jedná o řeč nebo o hudbu. Přidána byla podpora prostorového zvuku (immersive audio) dle plánovaného RFC 8486. Podrobnosti a zvukové ukázky na demo stránce.

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

Bylo vydáno Ubuntu 18.10 s kódovým názvem Cosmic Cuttlefish (Kosmická sépie). Ke stažení jsou Ubuntu Desktop a Server, Ubuntu Cloud Images, Ubuntu Netboot, Kubuntu, Lubuntu a Lubuntu Alternate, Ubuntu Budgie, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio a Xubuntu. Podrobnosti v poznámkách k vydání.

Ladislav Hagara | Komentářů: 2
včera 18:33 | Nová verze

Byl vydán PostgreSQL ve verzi 11.0. Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
včera 17:33 | IT novinky

Nadace Raspberry Pi představila na svém blogu Raspberry Pi TV HAT, tj. rozšíření jednodeskového počítače Raspberry Pi umožňující příjem televizního vysílání DVB-T a DVB-T2. Cena rozšíření je 21,50 $.

Ladislav Hagara | Komentářů: 2
včera 17:07 | Nová verze

Vychází OpenBSD 6.4. Z řady novinek namátkou: podpora dalších architektur (arm64 např. dostal z Linuxu vypůjčený ovladač radeondrm), hypervizor vmm podporuje i qcow2 disky a šablony, jádro dokáže automaticky přepínat mezi dostupnými bezdrátovými sítěmi, sítě pracují o něco efektivněji, z bezpečnosti „přísaha byla doplněna odhalením“ (pledge(2) lze vhodně doplnit pomocí unveil(2)), SMT je ve výchozím stavu vypnutý, ale lze jej zapnout. Syntaxe nastaveni OpenSMTPD se změnila. S vydáním vychází také nová verze LibreSSL - 2.8.2.

Daniel Čižinský | Komentářů: 4
17.10. 23:15 | IT novinky

Firma Raptor Computing Systems, která stojí také za pracovní stanicí Talos II, představila levnější desku Blackbird s podporou jednoho 4-/8jádrového CPU POWER9 Sforza a formátem microATX; bližší specifikace jsou ve wiki výrobce.

Fluttershy, yay! | Komentářů: 20
17.10. 22:11 | Zajímavý projekt

Byla vydána verze 1.0 svobodné federalizované platformy pro sledování a sdílení videí, alternativy YouTube s podporou P2P, PeerTube (Wikipedie). Za vývojem PeerTube stojí nezisková organizace Framasoft snažící se mimo jiné nahradit svými svobodnými Frama službami služby společnosti Google (De-google-ify Internet).

Ladislav Hagara | Komentářů: 0
17.10. 19:44 | Zajímavý projekt

Společnost System76 prodávající počítače s Pop!_OS nebo Ubuntu plánuje prodej vlastního open source počítače s názvem Thelio. Informací je poskrovnu. Na Twitteru byla představena open source rozšířující deska (daughterboard), která by měla převzít funkce proprietárního softwaru na základní desce (motherboard).

Ladislav Hagara | Komentářů: 2
Přispíváte osobně k vývoji svobodného softwaru?
 (40%)
 (43%)
 (23%)
 (23%)
 (12%)
 (37%)
Celkem 243 hlasů
 Komentářů: 12, poslední 17.10. 21:18
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: 10
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: 10
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.