我一直在用一本很棒的 C 语言入门书学习编程,我把每个示例和任务都记下来,这样我就可以背诵语法。到目前为止,我手动完成了每个文件,但点击、命名和保存让人精疲力尽。
我需要一种方法来创建多个文件(如、、bspl0001.c
等),并将它们保存在目录“learning_c”或类似目录中。bspl0002.c
bspl0003.c
我对 Ubuntu / Linux 还只是个菜鸟,说实话,我只通过 VirtualBox 运行它,因为 IDE Geany 很容易设置。因此,我真的不知道终端是如何工作的。
编辑我刚刚发现自己翻看了我的旧账户,并摇头叹息,不知道我为什么要死记硬背代码语法。有趣的是,我几乎完成了我的计算机科学/数学学士学位学习。事后看来,非常感谢你的帮助!
答案1
您可以使用以下命令执行此操作:
mkdir learning_c
cd learning_c
touch bspl{0001..0003}.c
解释:
mkdir learning_c
learning_c
这将在当前文件夹中创建一个名为- 当前文件夹通常是你的主文件夹,也称为
~
- 您可以使用以下命令更改当前目录
cd
(即cd Desktop
)
cd learning_c
- 是的,你可以猜到,你正在进入新创建的文件夹
touch bspl{0001..0003}.c
touch
是一个用于创建空文件和修改时间戳的工具;我们正在创建空文件。touch myfile
将创建一个名为的空文件myfile
。()后面的丑陋代码
bspl{0001..0003}.c
被称为括号扩展。这是 shell 的一项很棒的功能,bash
它允许您创建任意字符串组合的长列表。您可以在Bash 黑客维基。在这种情况下,您将制作一个传递给的长参数列表touch
。您也可以使用它的长等效项:touch bspl0001.c bspl0002.c bspl0003.c
您可以更改文件的数量:如果您想要 12 个文件,您可以运行
bspl{0001..0012}.c
。- 前导零(
0012
而不是12
)确保输出使用零填充的 4 位数字。
答案2
您可以使用以下 Python 代码,您可以修改它以满足您的需求。
使用文件名保存以下代码filecreator.py
#!/usr/bin/env python
import os
import subprocess
work_path = os.path.abspath(os.path.dirname(__file__))
if not os.path.exists("learning_c"):
os.mkdir("learning_c")
os.chdir(os.path.expanduser(work_path+"/learning_c"))
n = 10 #put the number as you wish
for i in range(n):
subprocess.call(['touch', "bsdl"+str(i).zfill(4)+".c"])
然后使用这个命令执行它:
python filecreator.py
答案3
使用快捷键组合创建正确编号的(下一个)文件
为什么要一次性创建所有文件?缺点是您将会有很多空文件和未使用的文件。我实际使用的是:按下组合键来:
- 有一个脚本在我的代码目录中查看“下一个”文件应该是什么,
- 创建正确命名的文件(包括shebang)并
- 在我的编辑器中打开新文件(在我的情况下是 Idle)。
只需按一下键即可。这样,您可以避免大量(仍然)未使用的文件;只有在您需要时才会创建这些文件。
下面是一个简化版本(不运行步骤 3)。每次按下键盘时,它都会创建一个正确编号的文件,例如:
bspl0001.c, bspl0002.c, bspl0003.c etc
#!/usr/bin/env python3
import os
#--- set your code directory below
dr = "/path/to/your/coding_files"
#--- set the desired (base) name extension and shebang below (leave it ""if you don't want an automatically set shebang)
name_initial = "bspl"
extension = ".c"
shebang = ""
#---
existing = os.listdir(dr)
n = 1
while True:
file = dr+"/"+name_initial+str(n).zfill(4)+extension
if os.path.exists(file):
n = n+1
else:
with open(file, "wt") as out:
out.write(shebang)
break
如何使用
- 将脚本复制到空文件中
- 在头部部分,设置目录的路径(可选:更改基本名称和/或扩展名,shebang)。
- 将脚本保存为 create_empty.py
从快捷方式运行脚本:系统设置>键盘>自定义快捷方式。添加命令:
python3 /path/to/create_empty.py
答案4
刚刚偶然发现这个页面正在寻找其他东西...如果其他人需要这样做,我认为最简单的方法是使用触摸和 for 循环。
for i in {1..10}; do touch file$i.txt; done
这将在工作目录中创建 file1.txt 至 file10.txt。当然,您也可以指定目录,例如
for i in {60..69}; do touch ./texts/file$i.txt; done
这将在目录 ./texts 中创建 file60.txt 至 file69.txt
干杯