Package: fdn
IntroductionA tool for uniformly change file sor directory names and also support
rollback these operations.In short,fdn is about file names operation.APythontool to unify file or directory
name.File or directory name format:no space in file name（firstly every space will be replaced by an
underscore,then multiple consecutive underscores will be reduced to
one);only underscore allowed in file name，all other control characters
will be replaced by underscore;multiple consecutive underscores will be reduced to one;underscore at the beginning of file name will be deleted;underscore at the end of file name will be deleted;keepbash special
parametersin file name;some terminology will remained(update continuously) ,such asUSB,PCIe…​InstallationTo install fdn viaconda:$condainstall-chobbymarksfdnTo install fdn viapip:$pipinstallfdnUsage/参数Options:Usage: fdn [OPTIONS] [PATH]...

  Files in PATH will be changed file names unified.

Options:
  -d, --max-depth INTEGER     Set travel directory tree with max
                              depth.  [default: 1]
  -t, --file-type [file|dir]  Set type.If 'file',operations are only
                              valid for file,If 'dir',operations are
                              only valid for directory.  [default:
                              file]
  -i, --in-place              Changes file name in place.  [default:
                              False]
  -c, --confirm               Need confirmation before change to
                              take effect.  [default: False]
  -l, --is-link               Follow the real path of a link.
                              [default: False]
  -f, --full-path             Show full path of file.Relative to the
                              input path.  [default: False]
  -a, --absolute-path         Show absolute path of file.  [default:
                              False]
  -r, --roll-back             To roll back changed file names.
                              [default: False]
  -o, --overwrite             Overwrite exist files.  [default:
                              False]
  -p, --pretty                Try to pretty output.  [default:
                              False]
  -e, --enhanced-display      Enhanced display output.  [default:
                              False]
  --version                   Show the version and exit.
  -h, --help                  Show this message and exit.ATTENTION!When you run fdn ,you will see two kinds of output:First Kindsample▯file▯name
-->sample_file_nameThe output means: a file namesample file namewill be changed tosample_file_name-->means in dry run mode ,operation not take effect.The character▯means space ,every space will be replaced by one▯.The character ``▯`` is only for the convenience of visual contrast and
only display in output.orSecond Kind:sample▯file▯name
==>sample_file_nameThe output means: a file namedsample file namehas been changed tosample_file_name==>means operation have taken effect.all deleted character will be display as red color ,such as the original
file name:sample ▯ file ▯ nameall added character will be diplayed as green color ,such as the changed
file name:sample * file * nameOptions-d option$  fdn tgt_root -f -t dir -d 2
   tgt_root/test directory/$0_T\▯Only
-->tgt_root/test directory/$0_T_Only
   tgt_root/!临时文件夹
-->tgt_root/LSW临时文件夹
   tgt_root/_is▯dir▯%
-->tgt_root/Is_dir_%
   tgt_root/测试@#文件夹
-->tgt_root/CS测试_文件夹
   tgt_root/test▯directory
-->tgt_root/Test_Directory
   tgt_root
-->Tgt_Root
********************************************************************
In order to take effect,add option '-i' or '-c'

$ fdn tgt_root -f -t dir -d 1
   tgt_root/!临时文件夹
-->tgt_root/LSW临时文件夹
   tgt_root/_is▯dir▯%
-->tgt_root/Is_dir_%
   tgt_root/测试@#文件夹
-->tgt_root/CS测试_文件夹
   tgt_root/test▯directory
-->tgt_root/Test_Directory
   tgt_root
-->Tgt_Root
********************************************************************
In order to take effect,add option '-i' or '-c'-t option$  fdn tgt_root -f -t dir
   tgt_root/!临时文件夹
-->tgt_root/LSW临时文件夹
   tgt_root/测试@#文件夹
-->tgt_root/CS测试_文件夹
   tgt_root/test▯directory
-->tgt_root/Test_Directory
   tgt_root/_is▯dir▯%
-->tgt_root/Is_dir_%
********************************************************************
In order to take effect,add option '-i' or '-c'

$ fdn tgt_root -f
   tgt_root/thi_Is_File_%.mp4
-->tgt_root/Thi_Is_File_%.mp4
   tgt_root/$0▯▯测试用文件.html
-->tgt_root/$0_测试用文件.html
********************************************************************
In order to take effect,add option '-i' or '-c'-i option$ fdn tgt_root/\$0\ \ 测试用文件.html -io
   $0▯▯测试用文件.html
==>$0_测试用文件.html-c option$ fdn tgt_root/\$0\ \ 测试用文件.html -c
$0  测试用文件.html
Please confirm(y/n/A/q) [no]:
   $0▯▯测试用文件.html
-->$0_测试用文件.html

$ fdn tgt_root/\$0\ \ 测试用文件.html -c
$0  测试用文件.html
Please confirm(y/n/A/q) [no]: y
   $0▯▯测试用文件.html
==>$0_测试用文件.html-l optionThis Option-f option$ fdn tgt_root/\$0\ \ 测试用文件.html
   $0▯▯测试用文件.html
-->$0_测试用文件.html
********************************************************************
In order to take effect,add option '-i' or '-c'

$ fdn tgt_root/\$0\ \ 测试用文件.html -f
   tgt_root/$0▯▯测试用文件.html
-->tgt_root/$0_测试用文件.html
********************************************************************
In order to take effect,add option '-i' or '-c'-a option$ fdn
   a▯Test-file.txt
-->A_Test_File.txt
********************************************************************
In order to take effect,add option '-i' or '-c'

$ fdn -a
   /home/hma/a▯Test-file.txt
-->/home/hma/A_Test_File.txt
********************************************************************
In order to take effect,add option '-i' or '-c'-r option$ fdn tgt_root/\$0_测试用文件.html -r
   $0_测试用文件.html
-->$0▯▯测试用文件.html
********************************************************************
In order to take effect,add option '-i' or '-c'-o option$ fdn tgt_root/\$0\ \ 测试用文件.html -i
Exist:$0_测试用文件.html
Skipped:$0  测试用文件.html
With option '-o' to enable overwrite.

$ fdn tgt_root/\$0\ \ 测试用文件.html -io
   $0▯▯测试用文件.html
==>$0_测试用文件.html-p option$ fdn tgt_root
   thi_Is_File_%.mp4
-->Thi_Is_File_%.mp4
   $0▯▯测试用文件.html
-->$0_测试用文件.html
********************************************************************
In order to take effect,add option '-i' or '-c'

$ fdn tgt_root -p
   thi_Is_File_%.mp4
-->Thi_Is_File_%.mp4
   $0▯▯测试用文件.html
-->$0 _测试用文件.html
********************************************************************
In order to take effect,add option '-i' or '-c'-e option$ fdn tgt_root/\$0_测试用文件.html -re
   $0_测试用文件.html
-->$0▯▯测试用文件.html
********************************************************************
In order to take effect,add option '-i' or '-c'Example/示例change one file name/修改一个文件名$ fdn tgt_root/\$0\ 测试用文件.html
   $0▯测试用文件.html
-->$0_测试用文件.html
********************************************************************
In order to take effect,add option '-i' or '-c'change files in dir/修改指定目录下文件名$ fdn tgt_root
   $0▯测试用文件.html
-->$0_测试用文件.html
   This▯is▯a▯Test▯file.pdf
-->This_Is_A_Test_File.pdf
   _thi▯is▯file▯%.mp4
-->thi_Is_File_%.mp4
   这是测试文件▯.jpg
-->ZSC这是测试文件.jpg
********************************************************************
In order to take effect,add option '-i' or '-c'rollback one file changed/取消一个文件名的修改$ fdn tgt_root/\$0_测试用文件.html -r
   $0_测试用文件.html
-->$0▯测试用文件.html
********************************************************************
In order to take effect,add option '-i' or '-c'rollback files changed in dir/取消目录下文件名的修改$ fdn tgt_root -r
   This_Is_A_Test_File.pdf
-->This▯is▯a▯Test▯file.pdf
   ZSC这是测试文件.jpg
-->这是测试文件▯.jpg
   thi_Is_File_%.mp4
-->_thi▯▯is▯▯▯file▯%.mp4
   $0_测试用文件.html
-->$0▯测试用文件.html
********************************************************************
In order to take effect,add option '-i' or '-c'joint work withfd/与fd工具联合工作fdis a program to find entries in
your filesytem. It is a simple, fast and user-friendly alternative to
find.*$ fdfind -HIi html -X fdn
   $0▯▯测试用文件.html
-->$0_测试用文件.html
********************************************************************
In order to take effect,add option '-i' or '-c'

$ fdfind -HIi html -X fdn {} -pf
   tgt_root/$0▯▯测试用文件.html
-->tgt_root/$0 _测试用文件.html
********************************************************************
In order to take effect,add option '-i' or '-c'简介一个小工具，用于日常统一更改文件（或者文件夹）名称用Python编写，用于日常统一更改资料的文件名。目前的具体格式：文件名不保留空格（首先空格会被替换为下划线，之后根据是否存在连续下划线来决定缩减）；文件名中只保留下划线字符，其余的控制类字符会被替换为下划线；多个连续的下划线字符会被缩减为一个下划线；如果文件名首字符为下划线将会被删除；除去扩展名后的文件名如果最后一个字符是下划线也会被删除；在文件名中保留bash special
parameters;文件名中包含的一些术语会保留术语本身的大小写写法(持续更新中…​),例如USB,PCIe等;安装建议使用conda进行安装:$condainstall-chobbymarksfdn使用pip进行安装:$pipinstallfdn参数请前往Usage/参数查看示例参考Example/示例查看