๋๋ ํ์ผ ์ด๋ฆ ๋ณ๊ฒฝ์ ์ํด ์ค๊ณ๋ ์ฝ์ ์ ํธ๋ฆฌํฐ Nomenus-rex์ ์ ๋ฒ์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด ํ๋ก๊ทธ๋จ์ C++๋ก ์์ฑ๋์์ผ๋ฉฐ GPLv3 ๋ผ์ด์ผ์ค ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค. ์ด๋ฆ ๋ฐ๊พธ๊ธฐ ๊ท์น์ ๊ตฌ์ฑ ํ์ผ์ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑ๋ฉ๋๋ค. ์: source_dir = "/home/user/work/source"; Destination_dir = "/์ง/์ฌ์ฉ์/์ง์ฅ/๋ชฉ์ ์ง"; keep_dir_structure = ๊ฑฐ์ง; copy_or_rename = "๋ณต์ฌ"; ๊ท์น = ( { ์ ํ = "๋ ์ง"; date_format = "%Y-%m-%d"; }, { ์ ํ = "ํ ์คํธ"; ํ ์คํธ = "_"; }, { ์ ํ = "dir"; // ๋ชจ๋ = "์ ์ฒด ๊ฒฝ๋ก"|"์์ ๋๋ ํฐ๋ฆฌ๋ง" ๋ชจ๋ = "์ ์ฒด ๊ฒฝ๋ก"; ๊ตฌ๋ถ ๊ธฐํธ = "-"; }, { type = "ํ ์คํธ"; ํ ์คํธ = "_"; }, { type = "์ ์"; // mode = "global"|"local at all dir" mode = "local at all dir"; start = 0; step = 1; padding = 5; }, { type = "extension"; // "ext" ๋ณ์๋ฅผ ๊ทธ๋๋ก ๋ก๋๋ค. ์๋ ํ์ฅ์๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๋น์ด ์์ต๋๋ค 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 ๋๋ ํฐ๋ฆฌ(์ ์ฒด let์ด ์ง์ ๋์ง ์์ ๊ฒฝ์ฐ ๊ตฌ์ฑ ํ์ผ์ ์ฐพ๋ ๋๋ ํฐ๋ฆฌ)์์๋ ์๋ํ ์ ์์ผ๋ฉฐ ํ ๋๋ ํฐ๋ฆฌ์ ์ก์ธ์คํ๊ธฐ ์ํ ์ฝ์ด "~"๋ฅผ ์ดํดํฉ๋๋ค.
์ ๋ฒ์ ์ ๋ณ๊ฒฝ ์ฌํญ:
- ํ์ฌ ๋ถ์์ ํ ์ด๋ฆ์ ๋งค๊ฐ๋ณ์๋ก ์ฌ์ฉํ๋ ์๋ก์ด ์ ํ์ "๊ท์น"์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ด๋ฅผ ํตํด ๋ชจ๋ ํ์ ๋ฌธ์์ด์ ์ ๋ฌธ์์ด๋ก ๋ฐ๊พธ๋ ๋์ฒด ๊ท์น์ ์ถ๊ฐํ ์ ์์์ต๋๋ค.
- ์ด์ ํ์ผ ์ด๋ฆ์ด ์ฒ๋ฆฌ๋๊ธฐ ์ ์ ์ํ๋ฒณ์์ผ๋ก ์ ๋ ฌ๋ฉ๋๋ค. ์ด์ ์๋ ํ์ผ ์์คํ ์์ ์ ๊ณตํ ์์๋๋ก ํ์ผ์ด ์ฒ๋ฆฌ๋์์ต๋๋ค. ๋ค์ ๋ฒ์ ์์๋ ์ด ์ ๋ ฌ์ด ์ฌ์ฉ์๊ฐ ์ ์ดํ๊ฒ ๋ฉ๋๋ค.
- ์ค๋ช ์๊ฐ ์ฝ๊ฐ ์ฌ์์ ๋์ด ๋์ฑ ํธ๋ฆฌํด์ก์ต๋๋ค.
- ์๋ก์ด ๊ท์น์ ๋ ์ฝ๊ฒ ์ถ๊ฐํ๊ณ ์๋ก์ด ์ค๋ฅ ์๋ฅผ ์ค์ด๊ธฐ ์ํด ์ค๊ณ๋ ์ฝ๋ ๋ด๋ถ ๋ณ๊ฒฝ ์ฌํญ(ํ ์คํธ ์์ฑ ์์ ๋ฐ ๊ตฌ์ฑ ํ์ผ์์ ์ด๊ฑฐํ ๋ณ์๋ฅผ ์ฝ๊ธฐ ์ํ ์๋ก์ด ํ ํ๋ฆฟ ๊ธฐ๋ฅ)
์ถ์ฒ : opennet.ru