Skip to content

Instantly share code, notes, and snippets.

View xdevs23's full-sized avatar
📼
Time does not exist

Simão Gomes Viana xdevs23

📼
Time does not exist
View GitHub Profile
# Copies files that have a specific extension to another directory while keeping directory structure and remove the prefix
# Example: ./dir_00000032.chk/Media/Backgrounds/Indoors/hall.jpg -> ../recov/jpg/Media/Backgrounds/Indoors/hall.jpg
# Replace the extension as you like
find -name "*.jpg" -type f -print0 | xargs -0 -i bash -c 'tt="$(echo -n '"'"'{}'"'"' | sed -e '"'"'s/[.]\/[^/]*\///g'"'"')"; mkdir -p "../recov/jpg/$(dirname '"\""'$tt'"\""')"; cp -v '"'"'{}'"'"' "../recov/jpg/$tt"'
# To remove the extension completely and just copy everything:
find -type f -print0 | xargs -0 -i bash -c 'tt="$(echo -n '"'"'{}'"'"' | sed -e '"'"'s/[.]\/[^/]*\///g'"'"')"; mkdir -p "../recov/$(dirname '"\""'$tt'"\""')"; cp -v '"'"'{}'"'"' "../recov/$tt"'
# Of course replace the things as you like
# This comes extremely useful when you have found.* folders from chkdsk which you want to extract
# files from.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@xdevs23
xdevs23 / easyxz.sh
Last active November 24, 2016 15:51
Easy-to-use folder compression and decompression
# XZ (LZMA2 implementation) is a very strong and one of the most used compression utils
# Compress folder
# Specify 'noabrt' to prevent cancelling the process when an error occurs
# Specify 'nodel' to keep input files
# Specify 'force' to force compression and avoid some weird errors
function compressfolder() {
addnbrt=""
[[ " $@ " == *" nodel "* ]] && addnbrt="--keep"
[[ " $@ " == *" force "* ]] && addnbrt="$addnbrt --force"
@xdevs23
xdevs23 / easyenc.sh
Last active November 24, 2016 17:10
Easy-to-use encryption on linux-based systems (GPG)
#!/bin/bash
# Source this file to have the functions in your shell, or add following line to your ~/.bashrc :
# source easyenc.sh
# Make sure to specify the correct path.
# Now you can: source ~/.bashrc
# $1: input file
# $2: output file (encrypted)
function encryptfile() {