kzen.dev
  • 質問
  • タグ
  • ユーザー
通知:
報酬:
登録
登録すると、質問に対する返答やコメントが通知されます。
ログイン
すでにアカウントをお持ちの方は、ログインして新しい通知を確認してください。
追加された質問、回答、コメントには報酬があります。
さらに
ソース
編集
 deranor
deranor
質問

ターミナルで複数のファイルを作成するには?

私はC言語の入門書を使ってプログラミングを学んでいますが、構文を暗記するためにすべての例やタスクを書き留めています。今まではすべてのファイルを手動で作成していましたが、クリックしたり、名前を付けたり、保存したりするのに疲れてしまいました。

そこで、bspl0001.c, bspl0002.c, bspl0003.c などの複数のファイルを作成し、それらを "learning_c" などのディレクトリに保存する方法が必要です。

私はUbuntu / Linuxの初心者で、正直なところ、IDEのGeanyの設定が簡単だったので、VirtualBox経由でしか動かしていません。そのため、Terminalがどのように動作するのかよくわかりません。

*この古いアカウントで、なぜコードの構文を暗記しようと思ったのか、頭を悩ませています。興味深いことに、私はCS / Math BScの勉強をほとんど終えています。後学のために助けてくれてありがとうございます。

46 2015-04-05T10:54:25+00:00 3
 deranor
deranor
編集された質問 30日 5月 2019 в 5:47
Ubuntu
batch
command-line
files
この質問には 1 つの答え があり、読むには ログイン してください。
解決策・回答
 Helio
Helio
5日 4月 2015 в 11:00
2015-04-05T11:00:13+00:00
さらに
ソース
編集
#38377539

これらのコマンドで行うことができます。

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)は brace expansion と呼ばれます。これは bash シェルの優れた機能で、任意の文字列の組み合わせによる長いリストを作成することができます。これについては、Bash Hackers Wikiで詳しく説明されています。今回の例では、touchに渡すパラメータの長いリストを作ります。これに相当する長いリストを使うこともできます。

          touch bspl0001.c bspl0002.c bspl0003.c
    • ファイルの数を変更することができます。12個のファイルが欲しい場合は、bspl{0001..0012}.cを実行します。

    • 先頭のゼロ(12ではなく0012)は、出力がゼロパディングされた4桁の数字を使用するようにしています。

 IkWeetHetOokNiet
IkWeetHetOokNiet
編集した答え 1日 3月 2019 в 12:29
78
0
Jacob Vlijm
Jacob Vlijm
5日 4月 2015 в 1:09
2015-04-05T13:09:55+00:00
さらに
ソース
編集
#38377541

ショートカットキーの組み合わせで正しい番号の(次の)ファイルを作成する

なぜ一度にすべてのファイルを作成するのですか?デメリットとしては、空のファイルや使わないファイルがたくさんできてしまうことです。私が実際に使用しているもの:キーの組み合わせを押して

  1. スクリプトに、私のcodeディレクトリの中で、どのファイルが"next"であるべきかを確認させる。
  2. 正しい名前のファイルを作成する(shebangを含む)。
  3. 新しいファイルをエディタ(私の場合はIdle)で開く。

すべて1回のキー操作で完了します。このようにして、多くの(まだ使われていない)ファイルを防ぐことができます。ファイルは必要なときにだけ作成されます。

以下は簡易版です(ステップ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

使用方法

1.スクリプトを空のファイルにコピーする 2.headセクションに、お使いのディレクトリへのパスを設定します(オプションとして、ベース名や拡張子の変更、shebang)。 3.スクリプトを create_empty.py として保存します。 4.ショートカットからスクリプトを実行します。システム設定 > キーボード > カスタム ショートカット。コマンドを追加します。

    python3 /path/to/create_empty.py
Jacob Vlijm
Jacob Vlijm
編集した答え 6日 4月 2015 в 6:18
4
0
 bolzano
bolzano
5日 4月 2015 в 11:34
2015-04-05T11:34:50+00:00
さらに
ソース
編集
#38377540

以下の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
 bolzano
bolzano
編集した答え 5日 4月 2015 в 12:38
3
0
質問の追加
カテゴリ
すべて
技術情報
文化・レクリエーション
生活・芸術
科学
プロフェッショナル
事業内容
ユーザー
すべて
新しい
人気
1
Денис Васьков
登録済み 16時間前
2
Dima Patrushev
登録済み 2日前
3
sirojidddin otaboyev
登録済み 1週間前
4
Елена Гайдамамакинат
登録済み 1週間前
5
Иван Степанюк
登録済み 1週間前
DE
ES
ID
JA
PT
TR
ZH
© kzen.dev :年
ソース
askubuntu.com
ライセンス cc by-sa 3.0 帰属