26 lines
		
	
	
	
		
			450 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
	
		
			450 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/usr/bin/sh
 | 
						|
 | 
						|
set -e
 | 
						|
 | 
						|
edit_directory="$HOME/.cache/edit/"
 | 
						|
 | 
						|
filehash=$(readlink -fn "$1" | md5sum | awk '{ print $1 }')
 | 
						|
filedirectory="$edit_directory/$filehash/"
 | 
						|
 | 
						|
mkdir -p $filedirectory
 | 
						|
 | 
						|
filepath=$(realpath -s "$filedirectory/$(basename $1)")
 | 
						|
 | 
						|
user=$(id -un)
 | 
						|
group=$(id -gn)
 | 
						|
 | 
						|
echo "Editing $1 in $filepath as $user:$group"
 | 
						|
 | 
						|
sudo cp "$1" "$filepath"
 | 
						|
sudo chown $user:$group "$filepath"
 | 
						|
 | 
						|
$EDITOR "$filepath"
 | 
						|
 | 
						|
sudo cp "$filepath" "$1"
 | 
						|
 | 
						|
rm "$filepath"
 |