フォルダ名の末尾のスペースを削除したいです。
「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
ベストアンサー1
そして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 空白文字に制限されます。