ΠΠΎΡΡΡΠΏΠ½Π° Π½ΠΎΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΡΠΈΠ»ΠΈΡΡ Nomenus-rex, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΌΠ°ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° ΡΠ·ΡΠΊΠ΅ C++ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ Π½Π° ΡΡΠ»ΠΎΠ²ΠΈΡΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ GPLv3. ΠΡΠ°Π²ΠΈΠ»Π° Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: source_dir = «/home/user/work/source»; destination_dir = «/home/user/work/destination»; keep_dir_structure = false; copy_or_rename = «copy»; rules = ( { type = «date»; date_format = «%Y-%m-%d»; }, { type = «text»; text = «_»; }, { type = «dir»; // mode = «whole path»|»parent dir only» mode = «whole path»; separator = «-«; }, { type = «text»; text = «_»; }, { type = «integer»; // mode = «global»|»local at every dir» mode = «local at every dir»; start = 0; step = 1; padding = 5; }, { type = «extension»; // leave the «ext» variable empty to use an original extension ext = «»; // mode = «lowercase»|»uppercase»|»sic»; mode = «lowercase»; } );
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΡΡΠΈΠ»ΠΈΡΠ° ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ°ΠΉΠ» «/home/user/work/source/TestDir2/file2.txt» Π² «/home/user/work/destination/2022-03-16_TestDir2_0.txt». Π£ΡΠΈΠ»ΠΈΡΠ° ΡΠ°ΠΊΠΆΠ΅ ΡΠΌΠ΅Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΈ HOME ΠΈ XDG_CONFIG_HOME (Π³Π΄Π΅ ΠΈΡΠ΅Ρ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Π΅ΡΠ»ΠΈ ΠΊ Π½Π΅ΠΌΡ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡΡ) ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ «~» Π΄Π»Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΌΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ.
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ:
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ Π²ΠΈΠ΄ «ΠΏΡΠ°Π²ΠΈΠ»», ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠΈΠΉ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΠ΅ΠΊΡΡΠ΅Π΅ Π½Π΅Π·Π°Π²Π΅ΡΡΡΠ½Π½ΠΎΠ΅ ΠΈΠΌΡ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ replace, Π·Π°ΠΌΠ΅Π½ΡΡΡΠ΅Π΅ Π²ΡΠ΅ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ Π½Π° Π½ΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ.
- Π’Π΅ΠΏΠ΅ΡΡ ΠΈΠΌΠ΅Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠΎΡΡΠΈΡΡΡΡΡΡ ΠΏΠΎ Π°Π»ΡΠ°Π²ΠΈΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ. Π Π°Π½Π΅Π΅ ΡΠ°ΠΉΠ»Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΠΈΡΡ Π² ΡΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΡΠ΄Π°Π²Π°Π»ΠΈΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΡΠ° ΡΠΎΡΠΈΡΠΎΠ²ΠΊΠ° ΡΡΠ°Π½Π΅Ρ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
- ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π»ΠΎ Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ.
- ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ΄Π΅ (Π½Π°ΡΠ°Π»ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅ΡΡΠΎΠ² ΠΈ Π½ΠΎΠ²Π°Ρ ΡΠ°Π±Π»ΠΎΠ½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ enum-ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ) ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ·Π²Π°Π½Ρ ΡΠΏΡΠΎΡΡΠΈΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΡ ΠΏΡΠ°Π²ΠΈΠ» ΠΈ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π½ΠΎΠ²ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru