2012-01-08 15 views
3

これらのファイルのみを持つディレクトリのLinux端末でtouchコマンドを使用して10個のファイルを作成しました。多数のファイルに文字列を書き込む

$ touch a1.c a2.c a3.c a4.c a5.c a6.c a7.c a8.c a9.c a10.c 

一度にすべてのファイルに「stackOverflow」という文字列を書きたいと思います。 これを行うには?コマンドやその他の方法はありますか?あなたのデータが配列になると

プラットフォーム-ubuntuコマンドプロンプトから10.04

+0

文字列を書く==この文字列だけを書く?追加? – fge

+0

これらは空のファイルです –

+0

これは私にとってはコマンドラインジョブよりもプログラミング言語の仕事に似ています。この種のジョブを実行する並列スレッドを作成することができます。しかし、本当の問題は、あなたはなぜこれをやっているのですか?何かの同期?この観点から他の方法を使うべきです... – Beachwalker

答えて

3

(バッシュ)

for f in *.c; do echo "stackOverflow" >> $f; done 
+0

に触れて、これらのファイルに他のファイルの内容を入れたいのですが? 。例えば。私はファイル内に標準ヘッダを持っており、これらすべてのファイルに書きたい –

1

は、それは例を参照してください、以上のループに簡単です。

これを空のファイルwriteStringToFiles.shに保存して右クリックし、[アクセス許可]タブの下にある[プログラムとしてファイルを実行する]をクリックします。ダブルクリックするか、ターミナルから "cd"を実行してディレクトリに移動し、 "./writeStringToFiles.sh"と入力します。このようなbashスクリプトに任意のコマンドを置くことができます。あなたのファイルは(少なくとも1バイト)空でない場合は

#!/bin/sh 
files=(a1.c a2.c a3.c a4.c a5.c a6.c a7.c a8.c a9.c a10.c) 
thingToWrite='stackOverflow' 

for i in "${files[@]}" 
do : 
    touch $i 
    echo -e $thingToWrite >> $i 
done 

exit 
+0

2行:構文エラー: "("予期しない –

+0

それは私のために働いた、私はそれを編集し、セミコリンを削除して、 geditまたはnanoに貼り付けてください – imp

+0

@imp ---同じエラーです。 –

1

$ sed -i '1i\ 
stackOverflow' a{1..10}.c 

は、すべてのファイルの先頭にstackOverflowを挿入します。

関連する問題