我有以下文件:
/home/wiki/15000_20000/xx00
/home/wiki/15000_20000/xx01
/home/wiki/15000_20000/xx02
...
/home/wiki/15000_20000/xx4686
如何将xx00
, xx01
, ...,重命名xx4686
为152000
, 152001
, ..., 15204686
,即替换xx
为1520
?
我有以下文件:
/home/wiki/15000_20000/xx00
/home/wiki/15000_20000/xx01
/home/wiki/15000_20000/xx02
...
/home/wiki/15000_20000/xx4686
如何将xx00
, xx01
, ...,重命名xx4686
为152000
, 152001
, ..., 15204686
,即替换xx
为1520
?
我在 slurm 工作中压缩了文件。但是工作在完成之前被取消了。它需要很长时间(一个文件约 10 分钟,有 200 个文件)。如何仅压缩尚未压缩的剩余文件?
$ ls
SRR7121484_1.fastq
SRR7121484_1.fastq.gz
SRR7121484_2.fastq
SRR7121484_2.fastq.gz
SRR7121485_1.fastq
SRR7121485_2.fastq
SRR7121488_1.fastq
SRR7121488_2.fastq
....
如您所见,所有剩余文件都大于数字7121485。我试图提取这个值并使用条件,但是还没有成功。
提前致谢!
我知道这是基本的,但我对 bash 很陌生。
由于一些重复,我在许多文件夹中有很多照片,我想清理它们。这是我的文件结构的示例
- 12-30-14
- img1.jpg
- img2.jpg
- 12-30-14 (1)
- img3.jpg
- 12-30-15
- img1.jpg
- img2.jpg
- 12-30-15 (1)
- img3.jpg
我想运行一个脚本,结果是
- 12-30-14
- img1.jpg
- img2.jpg
- img3.jpg
- 12-30-14 (1)
- 12-30-15
- img1.jpg
- img2.jpg
- img3.jpg
- 12-30-15 (1)
从那里我打算运行find . type d -empty -delete
,以便最终结果是:
- 12-30-14
- img1.jpg
- img2.jpg
- img3.jpg
- 12-30-15
- img1.jpg
- img2.jpg
- img3.jpg
我只是不确定将文件从(1)
目录移动到干净目录的正确方法。
有什么想法吗?
我敢肯定你想知道我为什么要这么做。我想运行一个 Steam 游戏(具体来说是 Doom 3),我可以强制它下载,因为 Steam 现在使用 Proton 来兼容,但我希望能够使用社区源端口,它使用本机 Linux 可执行文件,同时仍在 Steam 中记录我的时间。所以,我从 Steam 下载了 Doom 3,然后从源端口复制了文件。然而,Steam 只能指向“Doom3.exe”,并且 Kubuntu 中没有选项可以将文件名与文件类型断开连接,因此将源端口的可执行文件重命名为 Doom3.exe 并从 Steam 启动不起作用,使用它尝试将其作为 Windows 可执行文件启动。我确实在文件的属性中找到了“文件类型选项”,但是“* .exe” 删除后立即返回条目。我希望我可以编写某种脚本来完成这项工作,如果能得到任何帮助,我将不胜感激。当然,我可以在没有 Steam 的情况下玩它,但我非常想计算我的时间。
我有大约 180 个具有相同结构的文件:000-aaaaaaaa.txt
.
文件名的正则表达式:/^[0-9]{3}\-[a-zA-Z]+$/gi
(3 位数字 + -
+ 字母 + .txt
)。
我想剪切数字部分和-
每个文件名
例如
000-hello.txt
->hello.txt
001-world.txt
->world.txt
002-ubuntu.txt
->ubuntu.txt
003-linux.txt
->linux.txt
我的 Ubuntu (18.04) 驱动器与 Windows 驱动器同步。我在 Ubuntu 中的一些文件夹和文件名包含 Windows 中不允许的字符,这会导致同步期间出现问题。我想找到这些字符并将它们从文件/文件夹名称中删除或用“x”替换这些字符。这需要在文件夹/目录树中递归完成。
我怎样才能快速做到这一点?
以下是 Windows 中禁止使用的字符(根据 Christopher Oezbek 的回答修改):
< (less than)
> (greater than)
: (colon - sometimes works, but is actually NTFS Alternate Data Streams)
" (double quote)
\ (backslash)
| (vertical bar or pipe)
? (question mark)
* (asterisk)
例如,report jpg 将显示所有名为 something.jpg 的文件。这是我正在处理的代码,包括我的问题。
function report {
x=`ls *.$1`
num=`ls *.$1 | wc -l`
# Question 1:
# Want to use variable for x to get
# num, but num=$($x | wc -l) didn't work for this purpose.
echo There are $num $1 files
if [ $num -lt 10 ]; then
# Question 2:
# for this part, I want to use "find . -name '*.$1'
# with delimiter . to extract filename from its extension
# and display them (Also maybe need to use while or for loop)
fi
}
report jpg
report html