Files
darkfi/contrib/privacy/scrub_username_from_file.sh
greptile 5534be7474 script: add simple script to remove username from files (#204)
* script: add simple script to remove username from files

* cleanup and add quotations around vars

---------

Co-authored-by: y <y>
2023-08-31 09:54:40 +00:00

52 lines
1.3 KiB
Bash
Executable File

#/usr/bin/env bash
: '
This program can be used as a convenient way to remove a username
from files that will be shared with the dev team. An example is
pasting a large log file or stack trace. Usernames can appear here
due to e.g. file paths in the home directory. This may not be
desirable.
In this case, you can run this program on the file you want to
share and it will create a copy of it in the current working
directory. The copy will have the extension ".scrubbed".
e.g. running this program as user `rms` in /tmp/:
```
sh no-dox.sh /etc/passwd
```
creates the file `/tmp/passwd.scrubbed` with the string `rms`
replaced with the string `user`.
NOTE: It is recommended to verify the output for any mistakes.
This script is simple and is likely to miss some edge-cases.
'
set -e
if [ "$#" -ne 1 ]; then
echo "Usage: $0 <file>"
exit 1
fi
# Replace the current user's name.
ME=$(whoami)
# Uncomment the following line and change 'changeme' if the user
# running the script is not the same user as the one you are
# trying to conceal.
#ME="changeme"
# The string in $ME will be replaced with this string.
REPLACE="user"
FILE="$1"
DST=$(basename $FILE)
if ! [ -f $FILE ]; then
echo "Target should be a file"
exit 2
else
sed s/$ME/$REPLACE/g "$FILE" > "$(pwd)/$DST.scrubbed"
fi