Linux
如何刪除文件夾名稱末尾的空格?
我想刪除文件夾名稱末尾的空格。
我有一個名為“Project1”的文件夾,其中還有另一個名為“Exercise1”的文件夾。
我想使用一個腳本來刪除最後的空格,並且只在最後。
我不知道我是否正確地表達了自己。
提前謝謝你,祝你有個愉快的夜晚。
我輸入了命令
/bin/ls -l | od -c
root@debian:~$ /bin/ls -l | od -c 0000000 t o t a l 3 2 \n d r w x r - x 0000020 r - x 2 k a b i a k a b i 0000040 a 4 0 9 6 j u i l . 2 0 0000060 1 0 : 2 6 B u r e a u \n d r w 0000100 x r - x r - x 7 k a b i a 0000120 k a b i a 4 0 9 6 j u i l . 0000140 2 2 1 7 : 4 6 D o c u m e 0000160 n t s \n d r w x r - x r - x 2 0000200 k a b i a k a b i a 4 0 9 0000220 6 j u i l . 2 2 1 9 : 2 6 0000240 I m a g e s \n d r w x r - x r 0000260 - x 2 k a b i a k a b i a 0000300 4 0 9 6 j u i l . 2 0 1 0000320 0 : 2 6 M o d 303 250 l e s \n d r 0000340 w x r - x r - x 2 k a b i a 0000360 k a b i a 4 0 9 6 j u i l 0000400 . 2 0 1 0 : 2 6 M u s i q 0000420 u e \n d r w x r - x r - x 2 0000440 k a b i a k a b i a 4 0 9 6 0000460 j u i l . 2 0 1 0 : 2 6 0000500 P u b l i c \n d r w x r - x r - 0000520 x 2 k a b i a k a b i a 0000540 4 0 9 6 j u i l . 2 0 1 0 0000560 : 2 6 T 303 251 l 303 251 c h a r g e 0000600 m e n t s \n d r w x r - x r - x 0000620 2 k a b i a k a b i a 4 0000640 0 9 6 j u i l . 2 0 1 0 : 0000660 2 6 V i d 303 251 o s \n 0000673
與
zsh
:autoload zmv # best in ~/.zshrc zmv -n '**/*[[:space:]]' '${f%%[[:space:]]#}'
-n
(高興時刪除以進行試執行)將從每個非隱藏文件或目錄的末尾刪除尾隨空格字元。
(#q/)
如果您只想限製到目錄,請添加到模式參數。或者(#qD)
也處理隱藏文件。POSIXly,你可以做一些接近的事情:
LC_ALL=C find . -depth -name '*[[:space:]]' -exec sh -x -c ' for f do : mv -i "$f" "${f%"${f##*[![:space:]]}"}" done' sh {} +
(刪除
-x
和:
高興時)。那個僅限於 ASCII 空白字元。