Linux: Difference between revisions
Appearance
No edit summary |
No edit summary |
||
| (12 intermediate revisions by 3 users not shown) | |||
| Line 13: | Line 13: | ||
</pre> | </pre> | ||
;How to print a file, excluding comments and blank lines, using grep | ;How to print a file, excluding comments and blank lines, using grep | ||
<pre>grep -v '^$\|^#\|^\s*\#' filename | grep -v "^[[:space:]]*$" | more</pre> | <pre>grep -v '^$\|^#\|^\s*\#' filename | grep -v "^[[:space:]]*$" | more | ||
grep -v "^[[:space:]]*$\|^ *#" filename | |||
</pre> | |||
;bash operations with file with spaces in name | ;bash operations with file with spaces in name | ||
IFS=$(echo -en "\n\b"); for i in $(ls -d */ | cut -f1 -d'/'); do echo $i; done | IFS=$(echo -en "\n\b"); for i in $(ls -d */ | cut -f1 -d'/'); do echo $i; done | ||
| Line 20: | Line 22: | ||
ssh -i /usr/local/sbin/id_rsa -oStrictHostKeyChecking=no [email protected] 'upsc qnapups' | ssh -i /usr/local/sbin/id_rsa -oStrictHostKeyChecking=no [email protected] 'upsc qnapups' | ||
-i RSA key, -o add to known host automatically | -i RSA key, -o add to known host automatically | ||
; ls with full path | |||
ls -dl $PWD/* | |||
;Set date of directories by latest file inside | |||
IFS=$(echo -en "\n\b"); for d in */ ; do T=`ls -alt --time-style="+%Y%m%d0101.10" $d | tail -1 | awk '{print $6}'`; touch -t $T $d; done | |||
;Частотный анализ букв в именах файлов | |||
ls | awk '{for (i=1 ; i<=NF ; i++) array[$i]++ } END{ for (char in array) print char,array[char]}' FS="" | sort -k2 -n | |||
;Find and replace characters in file name | |||
for file in `IFS=$(echo -en "\n\b"); find . -name "*[+]*" `; do mv -v $file $(echo $file | sed -e 's/+//g'); done | |||
;Rename bulk of files by template | |||
for file in *_AV1.mkv; do mv "$file" "${file%_AV1.mkv}.av1"; done | |||
;[[Audiofile operations]] | ;[[Audiofile operations]] | ||
;[[Photo file operations]] | |||
;[[LVM operations]] | ;[[LVM operations]] | ||
;[[SSL Certificate with SAN]] | ;[[SSL Certificate with SAN]] | ||
;[[SSL Certificate signed by your own CA]] | |||
;[[SD card partition recovery]] | |||
;[[How to recreate a wiped /boot filesystem in Ubuntu]] | |||
Latest revision as of 08:23, 25 March 2026
- Copy directories without content
rsync -av -f"+ */" -f"- *" "$source" "$target"
- Find files
find /path/to/dir -type f -name "*" -newermt 2013-02-07 ! -newermt 2013-02-08 find $HOME/projects -type f -name "*.py" -newermt 2013-02-07 ! -newermt 2013-02-08 -print find $HOME/projects -type f -name "*.py" -newermt 2013-02-07 ! -newermt 2013-02-08 -ls
- Delete Files older Than
find /var/log -name "*.log" -type f -mtime +30 -delete
find /var/log -type d -mtime +30 -exec rm -rf {} \;
- How to print a file, excluding comments and blank lines, using grep
grep -v '^$\|^#\|^\s*\#' filename | grep -v "^[[:space:]]*$" | more grep -v "^[[:space:]]*$\|^ *#" filename
- bash operations with file with spaces in name
IFS=$(echo -en "\n\b"); for i in $(ls -d */ | cut -f1 -d'/'); do echo $i; done IFS=$(echo -en "\n\b"); for i in $(ls -d */ | cut -f1 -d'/'); do echo "$i;"| tr -d '\r\n'; find $i -type f | wc -l; done
- ssh automation
ssh -i /usr/local/sbin/id_rsa -oStrictHostKeyChecking=no [email protected] 'upsc qnapups' -i RSA key, -o add to known host automatically
- ls with full path
ls -dl $PWD/*
- Set date of directories by latest file inside
IFS=$(echo -en "\n\b"); for d in */ ; do T=`ls -alt --time-style="+%Y%m%d0101.10" $d | tail -1 | awk '{print $6}'`; touch -t $T $d; done
- Частотный анализ букв в именах файлов
ls | awk '{for (i=1 ; i<=NF ; i++) array[$i]++ } END{ for (char in array) print char,array[char]}' FS="" | sort -k2 -n
- Find and replace characters in file name
for file in `IFS=$(echo -en "\n\b"); find . -name "*[+]*" `; do mv -v $file $(echo $file | sed -e 's/+//g'); done
- Rename bulk of files by template
for file in *_AV1.mkv; do mv "$file" "${file%_AV1.mkv}.av1"; done