Vývojáři dekompilátoru rev.ng otevřeli jeho backend revng-c. Zdrojové kódy jsou k dispozici na GitHubu.
Poněvadž Redis už není svobodný, konsorcium Linux Foundation a Amazon Web Services (AWS), Google Cloud, Oracle, Ericsson a Snap Inc. společně představili svobodný fork Redisu s názvem Valkey.
Sam Bankman-Fried, zakladatel zkrachovalé kryptoměnové burzy FTX, byl dnes odsouzen k 25 letům vězení [Yahoo Finance].
Proxmox oznámil, že usnadňuje migraci z VMware ESXi do Proxmoxu.
Byla vydána nová verze 2.53.18.2 svobodného multiplatformního balíku internetových aplikací SeaMonkey (Wikipedie). Přehled novinek v poznámkách k vydání.
Na blogu programovacího jazyka Swift byl publikován příspěvek Psaní aplikací pro GNOME v programovacím jazyce Swift. Používá se Adwaita pro Swift.
egui je GUI knihovna pro programovací jazyk Rust běžící na webu i nativně. Vydána byla verze 0.27.0.
Byla vydána nová verze 6.1 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.13. Thunderbird na verzi 115.9.0.
Linka STOPonline.cz v roce 2023 přijala 3700 hlášení závadného obsahu na internetu, 22 bylo předáno PČR, 23 bylo předáno ISP a 944 závadových domén zobrazujících dětskou nahotu či pornografii bylo nahráno do mezinárodního systému ICCAM, který je spravován asociací INHOPE.
Byla publikována podrobná analýza v upstreamu již opravené bezpečnostní chyby CVE-2024-1086 v Linuxu v nf_tables.
1 7 3 4 5 6 2 8skript.sh:
#!/bin/bash # ktory < za ktory=2 za=7 subor="vstup" vystup="vystup" riadkov=`cat vstup|wc -l` # uvod cat vstup |head -n $((ktory-1)) > vystup # za cat vstup |head -n $za | tail -n 1 >> vystup # medzi ktory za cat vstup |head -n $((za-1)) | tail -n $((za-ktory-1)) >> vystup # ktory cat vstup |head -n $ktory | tail -n 1 >> vystup # koniec cat vstup | tail -n $((riadkov-za)) >> vystup
#!/usr/bin/env bash if [[ "$2" -gt "$1" ]]; then p1="$1" p2="$2" else p1="$2" p2="$1" fi cp data.txt data.out.txt r1=$(sed -n "${p1}p" data.out.txt) r2=$(sed -n "${p2}p" data.out.txt) sed -i " ${p1}i${r2} ${p1}d ${p2}i${r1} ${p2}d " data.out.txt cat data.out.txt
[localhost tip]$ time bash skript.sh real 0m0,023s user 0m0,014s sys 0m0,018s [localhost tmp]$ time bash skript_Ja.sh 2 7 real 0m0,016s user 0m0,007s sys 0m0,009s
Tolik UUOC nejen bije do očí, ale možná už i dokonce smrdí z terminálu.
#!/bin/bash # ktory < za ktory=2 za=6 riadkov=`cat data.txt|wc -l` # uvod cat << EOF > data.out.txt `head -n $((ktory-1)) data.txt` `head -n $za data.txt | tail -n 1` `head -n $((za-1)) data.txt| tail -n $((za-ktory-1))` `head -n $ktory data.txt| tail -n 1` `tail -n $((riadkov-za)) data.txt` EOF cat data.out.txt
Chápu to správně tak, že to má vzájemně prohodit nějaké dva řádky a že to má být jenom v Bashi?
Tak potom bych tady měl obecnější prasárnu, která těch záměn umí několik, ale funguje jen tehdy, pokud se soubor vejde do paměti. Definuje funkci swaplines
, která přijímá jako parametry dvojice číslel řádků (od 0) k prohození, oddělené pomlčkou. Například tohle by desetiřádkový vstup převrátilo naruby:
swaplines 0-9 1-8 2-7 3-6 4-5
A teď ta funkce swaplines
:
swaplines() { local -a -i from_to local -a file local -i from local -i to local aux for aux in "$@"; do from_to["${aux%%-*}"]="${aux##*-}" done readarray -t file for from in "${!from_to[@]}"; do to="${from_to[from]}" aux="${file[from]}" file[from]="${file[to]}" file[to]="$aux" done for aux in "${file[@]}"; do echo "$aux" done }
Čte to standardní vstup, píše to na standardní výstup a nemá to vůbec žádnou kontrolu chyb syntaxe — tu bych s chutí ponechal čtenáři za cvičení.
#!/bin/bash vim -e -c '5m 8' -c '7m 4' -c 'wq' soubor.txt
echo -e "5m8\n8-m5-\nw\nq\n" | ed -s subor.txt
Ano, že má být něco „v bashi“, to se dá chápat různými způsoby. Já vycházím z toho, vim
není bash
.
Třeba 5 řádek za 159.5 za 159, nebo 5. za 159.?
Tiskni Sdílej: