:::: MENU ::::
Browsing posts in: Snippets

RegExp likwidujący zawieszki

This one is in english since related to polish texts only 🙂

Zawieszki to pojedyncze znaki zostawione na końcu linijki – takie jak i, z, w, itd. Ze względu na Polską Normę składania tekstu, zostawianie takich znaków na końcu wiersza jest błędem.

Chodzi o to, żeby mieć jednego regexpa, który usuwa zawieszki w zwykłym tekście, ale i w htmlu, w taki sposób, żeby nie patrzył w tagi.

(?(?=.*[<>].*)\s+([ziowauZIOWAU])\s+(?=[^>]*<)|\s+([ziowauZIOWAU])\s+)

Tutaj ciekawym trikiem jest wykorzystanie ifa i sprawdzenie czy tekst przypomina HTML czy nie.

Co więcej założeniem tego regexpa jest to, żeby przypadkiem nie mieszał w tagach html, tylko w samym tekście. Na przykład, żeby nie zamienił <span class=”elem i elem2″> na <span class=”elem i&nbsp;elem2″>

Można się tym rozwiązaniem pobawić tutaj.



Repetitive rsync

Some time ago I’ve been moving from one hosting provider to another. I had to transfer the files from A to B and used rsync for that. But unfortunately rsync command was crashing due to some timeouts. So I’ve found really nice script for auto restore.

rsync-auto.sh

#!/bin/bash

while [ 1 ]
do
    /usr/bin/rsync -avz --progress $1 $2
    if [ "$?" = "0" ] ; then
        echo "rsync completed normally"
        exit
    else
        echo "Rsync failure. Backing off and retrying..."
        sleep 10
    fi
done

Execute

rsync-auto.sh SOURCE DESTINATION

source: stackoverflow.com






Removing .git / .svn directories

Sometimes you have to remove directories from your VCS tool.

find . -name .svn -exec rm -rf {} \;

Listing affected directories

find . -name .svn -exec echo {} \;

Useful curl

Headers only

--head – performs HEAD http request (not GET).

curl --head https://www.wp.pl/

Content + headers

--get – performs GET request
-i – include headers

curl --get -i https://www.wp.pl/

Pages:12