如何删除文件名以破折号(连字符或减号)开头的文件-
?我通过 ssh 连接到远程 OSX 服务器,并且我的目录中有这个文件:
tohru:~ $ ls -l
total 8
-rw-r--r-- 1 me staff 1352 Aug 18 14:33 --help
...
Run Code Online (Sandbox Code Playgroud)
我怎么--help
能从 CLI 中删除?这个问题是我偶尔以不同形式遇到的问题,这些文件很容易创建,但很难摆脱。
我试过使用反斜杠
rm \-\-help
Run Code Online (Sandbox Code Playgroud)
我试过引号
rm "--help"
Run Code Online (Sandbox Code Playgroud)
如何防止将减号(破折号或连字符)字符解释为选项?
我有几个带有“.old”扩展名的文件。
如何在不删除文件的情况下删除“.old”扩展名?
我可以手动完成,但需要做更多的工作:
mv file1.key.old file1.key
mv file2.pub.old file2.pub
mv file3.jpg.old file3.jpg
mv file4.jpg.old file4.jpg
(etc...)
Run Code Online (Sandbox Code Playgroud)
该命令也适用于其他扩展吗?
例子:
mv file1.MOV.mov file1.MOV
mv file2.MOV.mov file2.MOV
mv file3.MOV.mov file3.MOV
(etc...)
Run Code Online (Sandbox Code Playgroud)
或更好:
mv file1.MOV.mov file1.mov
mv file2.MOV.mov file2.mov
mv file3.MOV.mov file3.mov
(etc...)
Run Code Online (Sandbox Code Playgroud) 我有一个公制的 .txt 文件,我想加载到数据库中。
这些表与 .txt 文件同名,但没有扩展名。
所以我想执行命令
for f in *.txt; do mysql -u root -p -e "LOAD DATA LOCAL INFILE '$f' INTO TABLE $f" -D rn4; done
Run Code Online (Sandbox Code Playgroud)
但是,最后一个$f
让我头疼,因为我希望它只使用名称,而不是扩展名。
所以对于文件piRNA.txt
,命令看起来像
mysql -u root -p -e "LOAD DATA LOCAL INFILE 'piRNA.txt' INTO TABLE piRNA" -D rn4
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?
为了使答案对其他人有用,请不要只给我命令,而是请写一两行关于如何在一般情况下提取名称的信息。
我有很多与此类似的文件:
56.mp3?referredby=rss
Run Code Online (Sandbox Code Playgroud)
我想要做的是删除?referredby=rss
它们,所以它们会是这样的:
56.mp3
Run Code Online (Sandbox Code Playgroud)
我该怎么做?
files ×2
rename ×2
shell ×2
bash ×1
command-line ×1
filenames ×1
options ×1
programming ×1
quoting ×1
rm ×1