【发布时间】:2018-06-06 04:15:38
【问题描述】:
如何移动 (mv) 包含空格和特殊字符的文件 - linux 命令
-
file.txt 包含的是。
04 安全@test.pdf
05 安全@test.pdf
我的命令如下:
cat $DIR/file.txt | read line; do
mv $line ""$line{//[ ()@$]/_}" /$DIR/OUT done
非常感谢您的专业知识,
【问题讨论】:
-
修正你的引号。
-
去掉
$DIR之前的斜线 -
你要的是
sed 's/[ ()@$]/_/g' <"$DIR/file.txt >/$DIR/OUT -
谢谢,我会试试的。sed 是一个流编辑器。流编辑器用于对输入流(文件或来自管道的输入)执行基本的文本转换。 computerhope.com/unix/used.htm
-
或
mv "$line" "${line//[ ()@$]/_}"。总是引用你的变量,特别是如果它们可能包含空格。