$ docker
"modaledit.keybindings": { | |
"\n": [ | |
"lineBreakInsert", | |
{ | |
"command": "modaledit.typeNormalKeys", | |
"args": { | |
"keys": "ku" | |
} | |
} | |
], |
This is a story about how I tried to use Go for scripting. In this story, I’ll discuss the need for a Go script, how we would expect it to behave and the possible implementations; During the discussion I’ll deep dive to scripts, shells, and shebangs. Finally, we’ll discuss solutions that will make Go scripts work.
While python and bash are popular scripting languages, C, C++ and Java are not used for scripts at all, and some languages are somewhere in between.
If you happen to write to NTFS partitions using non-windows operating systems (such as with ntfs-3g
, see this thread for more info), some of your files may have got written containing invalid characters in their names. When such a thing happen, the fix of chkdsk
is just to delete them but clearly no one would ever want to have their files deleted to 'fix'!
This little script that I wrote aims to fix the invalid NTFS characters in batch and automatically by renaming the files with invalid characters to valid ones. It only fixes the characters in this set: <>:"\|?*
which is pretty enough for most of the problems, but for advanced cases (like reserved names 'com', 'lpt') you must fix manually. Always double check the batch mv
commands before running.
Fallacies:
- Does not fix reserved names in Windows (like CON, PRN, AUX, NUL, COM1, COM2, etc).
- Does not fix other illegal combination of characters like 'directory name cannot end with
#!/usr/bin/env python | |
import os | |
import sys | |
import re | |
import argparse | |
if sys.version_info.major == 3: | |
from io import StringIO | |
else: | |
from StringIO import StringIO |
#!/usr/bin/env bash | |
# | |
# Install into: | |
# - .git/hooks/post-merge | |
# - .git/hooks/post-rewrite | |
# - .git/hooks/post-checkout | |
# | |
# And make sure all are executable. | |
# | |
# Then change the $file appropriately. Enjoy. |