相关疑难解决方法(0)

如何在 Linux 中删除名称看起来只是一个连字符的文件,如“-”

我试过了

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)

任何帮助将不胜感激,聪明的人。

linux bash perl

34
推荐指数
7
解决办法
4607
查看次数

如何创建一个命名为命令行参数的文件?

我想知道如何制作一个名为标志的文件,例如,如果我想制作一个名为 的文件夹-a,什么命令可以做到这一点?

我试过mkdir '-a', mkdir \-a,但都没有奏效。我在 Ubuntu 上。

linux ubuntu command-line-arguments

29
推荐指数
2
解决办法
2602
查看次数

Unix:以破折号开头的文件,-

好的,我有一堆以破折号开头的文件,-。这不太好......我想重命名它们。在我的特殊情况下,我只想在他们面前放一个角色。

我发现下面这行应该有效,但由于它是破折号,它没有:

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)

我现在不知道该怎么做...叹气

unix bash rename

21
推荐指数
2
解决办法
1万
查看次数

如何使用cli删除名称以“-r”开头的文件

我每隔一段时间就创建奇数文件,例如

$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)

但无济于事。

linux bash command-line rm

6
推荐指数
2
解决办法
564
查看次数

标签 统计

bash ×3

linux ×3

command-line ×1

command-line-arguments ×1

perl ×1

rename ×1

rm ×1

ubuntu ×1

unix ×1