This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| generic_linux_commands [2023/03/27 22:47] – [TAR WITH EXCLUDE] admin | generic_linux_commands [2026/03/25 14:01] (current) – admin | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== GENERIC LINUX COMMANDS ====== | ====== GENERIC LINUX COMMANDS ====== | ||
| + | |||
| + | ===== RENAME ' | ||
| + | 1. Dry-run preview (generates rename list without executing): | ||
| + | < | ||
| + | find / | ||
| + | dir=$(dirname " | ||
| + | filename=$(basename " | ||
| + | if echo " | ||
| + | newname=$(echo " | ||
| + | else | ||
| + | newname=$(echo " | ||
| + | fi | ||
| + | echo "$dir | ' | ||
| + | done | ||
| + | </ | ||
| + | |||
| + | 2. Execute renames: | ||
| + | < | ||
| + | find / | ||
| + | dir=$(dirname " | ||
| + | filename=$(basename " | ||
| + | # Special case: combo pack where ", The" belongs to a subtitle within the combo | ||
| + | if echo " | ||
| + | newname=$(echo " | ||
| + | else | ||
| + | newname=$(echo " | ||
| + | fi | ||
| + | if [ " | ||
| + | mv -- " | ||
| + | echo " | ||
| + | fi | ||
| + | done | ||
| + | </ | ||
| + | |||
| + | Key sed patterns: | ||
| + | |||
| + | - Standard: s/^\(.*\), The \(.*\)$/The \1 \2/ — captures everything before , The as \1 and everything after as \2, then prepends The | ||
| + | - Combo pack: s/\(+ \)\(.*\), The \(.*\)/ | ||
| + | |||
| + | ===== RENAME ' | ||
| + | Dry-run preview: | ||
| + | < | ||
| + | find / | ||
| + | dir=$(dirname " | ||
| + | filename=$(basename " | ||
| + | newname=$(echo " | ||
| + | echo "' | ||
| + | echo " | ||
| + | done | ||
| + | </ | ||
| + | |||
| + | Execute renames: | ||
| + | < | ||
| + | find / | ||
| + | dir=$(dirname " | ||
| + | filename=$(basename " | ||
| + | newname=$(echo " | ||
| + | if [ " | ||
| + | mv -- " | ||
| + | echo " | ||
| + | fi | ||
| + | done | ||
| + | </ | ||
| + | |||
| + | Key sed pattern: | ||
| + | - s/^\(.*\), \(An\{0, | ||
| Line 67: | Line 133: | ||
| cd / | cd / | ||
| tar --exclude=' | tar --exclude=' | ||
| + | rsync -av *.tgz / | ||
| + | |||
| $ tar cvzf filename.tar.gz /dir1/dir2 --exclude "/ | $ tar cvzf filename.tar.gz /dir1/dir2 --exclude "/ | ||
| </ | </ | ||