我正在尝试在文件名的开头使用连字符重命名文件,并且:
mv -example-file-name example-file-name
Run Code Online (Sandbox Code Playgroud)
和这个:
mv '-example-file-name' example-file-name
Run Code Online (Sandbox Code Playgroud)
导致:
mv: invalid option -- 'e'
Run Code Online (Sandbox Code Playgroud) 我试过了
rm -- -
rm "-"
rm "\-"
rm \-
Run Code Online (Sandbox Code Playgroud)
给了 Perl 一个机会
~$ perl -e '$junk = glob("-"); chomp $junk; print "$junk\n"; `rm $junk`;'
-
rm: cannot remove `-': No such file or directory
Run Code Online (Sandbox Code Playgroud)
...和...
~$ perl -e '$junk = glob("-"); chomp $junk; print "$junk\n"; `mv $junk newfile.garbage`;'
-
mv: cannot stat `-': No such file or directory
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激,聪明的人。
在 Bash 中,如何创建名为 的目录-p?
mkdir -p失败的。
mkdir "-p"失败的。
mkdir "\-p"失败的。
mkdir \-p失败的。
好的,我有一堆以破折号开头的文件,-。这不太好......我想重命名它们。在我的特殊情况下,我只想在他们面前放一个角色。
我发现下面这行应该有效,但由于它是破折号,它没有:
for file in -N*.ext; do mv $file x$file; done
Run Code Online (Sandbox Code Playgroud)
如果我echo在前面放一个,mv我会得到一堆
mv -N1.ext x-f1.ext
mv -N2.ext x-f2.ext
Run Code Online (Sandbox Code Playgroud)
这是正确的,当然它会认为第一个文件名是选项。所以当我删除echo并运行它时,我只会得到一堆
mv: illegal option -- N
Run Code Online (Sandbox Code Playgroud)
我试图将其更改为
for file in -N*.ext; do mv "$file" "x$file"; done
Run Code Online (Sandbox Code Playgroud)
但似乎只是忽略了引号。试图使用单引号,但变量没有扩展......我在这里做什么?
更新:我现在也尝试引用引号。像这样:
for file in -N*.ext; do mv '"'$file'"' '"'x$file'"'; done
Run Code Online (Sandbox Code Playgroud)
当我回应它时,它看起来是正确的,但是当我实际运行它时,我只是得到
mv: rename "-N1.ext" to "x-n1.ext":: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我现在不知道该怎么做...叹气
我每隔一段时间就创建奇数文件,例如
$ls -rthl
$-rw-r--r-- 1 shamil hep 290 Aug 13 11:58 -rf
Run Code Online (Sandbox Code Playgroud)
有趣的是,不可能删除此文件
rm -f -rf
Run Code Online (Sandbox Code Playgroud)
我知道我需要转义像“-”这样的特殊符号,所以问题很清楚。我曾经知道解决方案,但后来忘记了。
如何正确删除它?
我试过这样的事情
rm -f \-rf
Run Code Online (Sandbox Code Playgroud)
但无济于事。
我有一个文件,我想从一个目录复制到另一个目录。
假设这是some.txt要从文件夹 1复制到文件夹 2 的文件
cp -r some.txt /folder2
Run Code Online (Sandbox Code Playgroud)
我可以复制这个文件,但是如果文件名以$like开头,$somefile.class那么我就无法复制该文件,只是获取文件不存在错误
cp -r $somefile.class /folder2
Run Code Online (Sandbox Code Playgroud)