Unelte pentru linia de comandă posix și nushell

<| Înapoi la index

grep găsește unul din două modele
grep -e model1 -e model2
    
împarte și reunirea fișierelor mari
#împarte în fișiere de 3GiB și apoi reunește
split -b 3G fisier_de_impartit.iso fisier_de_impartit.iso
cat fisier_de_impartit.iso* > fisier_de_impartit.iso
    
python calculează zile
>>> from datetime import date
>>> a=date(2021,8,26)
>>> b=date(2021,9,15)
>>> c=date(2021,11,15)
>>> d=date(2022,3,3)
>>> (a-b).days
-20
>>> (b-a).days
20
>>> (d-c).days
108
>>> 20+108
128
>>> #calcul dată finală cu 119 zile mai mare
>>> from datetime import date, timedelta
>>> end_date=date.today()+timedelta(days=119)
    
nushell calculează zile
("28-sep-2024" | into daytime) + (119day)
(date now) + (2day)
    
cronometru cu bip în linia de comandă nushell și posix
(
    date now | print;
    printf "MESAJUL_CRONOMETRULUI\n";
    (date now) + (30min) | print;
    sleep 1hr;
    printf "BIPAIRE\n";
    for $it in 0..999999 {
        sleep 1sec; printf "\a"
    }
)
printf "\a"
#dacă comanda 'printf "\a"' de mai sus nu generează un bipăit
#gnome-terminal --sh -c 'printf "\a"'
#dacă gnome-terminal e instalat va ocoli bug-ul
    
grep căutare completă și recursivă de text
grep -rnw folder -e 'MODEL'
    
listează fișierele recursiv după dimensiune
du -ah . | grep -v "/$" | sort -rh | less
    
sed înlocuiește text în fișier
sed -i -- 's/foo/bar/g' cale_fisier
    
grep găsește fișierele cu extensia sh
find * | grep -i '\.sh$'
    
sed comentează linii în fișiere shell
sed -i '2,4 s/^/#/' cale_fisier
    
apt căutare exactă
apt search ^golang$
    
inversează căutarea grep
ls -alh | grep -v regex_de_eliminat
    
Deschide site-uri web cu xargs și xdg-open
printf "https://www.web1.com\nhttps://www.web2.com\n" \
    | xargs -I website xdg-open website
    
git opțiuni pentru ca comanda log să arate bine
git log -2 --oneline --decorate --graph --all
    
git elimină ultimul commit
#!!! AVERTISMENT COMANDĂ FOARTE PERICULOASĂ
#!!! SE POT PIERDE DATE IMPORTANTE LA RULAREA ACESTEI COMENZI
#!!! RULEAZĂ ACEASTĂ COMANDĂ DOAR DACĂ ȘTII EXACT CE FACI
git reset --hard HEAD~1