1

テキストを含むファイル「atest.txt」があります..

このテキストをファイル「asdasd.txt asgfaya.txt asdjfusfdgh.txt asyeiuyhavujh.txt」に印刷したい

このファイルは私のサーバーには存在しません..

Debian を実行しています。どうすればよいですか?

4

5 に答える 5

8

標準入力を標準出力およびコマンドラインで指定されたファイルに複製するtee (1) コマンドを使用します。例えば

printf "こんにちは\nこれはテストです\nありがとう\n"
  | | ティー test1.txt test2.txt $OTHER_FILES >/dev/null

あなたの例を使用して:

猫atest.txt
  | | ティー asdasd.txt asgfaya.txt asdjfusfdgh.txt asyeiuyhavujh.txt >/dev/null
于 2009-01-02T11:54:56.193 に答える
1

単純ではありませんか:

cp atest.txt asdasd.txt 
cp atest.txt asgfaya.txt
cp atest.txt asdjfusfdgh.txt
cp atest.txt asyeiuyhavujh.txt

于 2009-01-02T12:13:20.227 に答える
1

bashでは、次のように書くことができます

#!/bin/bash
$TEXT="hello\nthis is a test\nthank you"
for i in `seq 1 $1`; do echo -e $TEXT >text$i.txt; done

編集(質問の変更に応じて)

プログラムでターゲット ファイルの名前を特定できない場合は、次のスクリプトを使用できます。

#!/bin/bash
ORIGIN=$1;
shift
for i in `seq $#`; do cp "$ORIGIN" "$1"; shift; done

次のように使用できます:
script_name origin_file dest_file1 second_dest_file 'third file' ...

なぜcpコマンドに二重引用符があるのか​​ 疑問に思っている場合は、スペースを含むファイル名に対処するためです

于 2009-01-02T11:47:38.110 に答える
1

bash プロンプトから:

for f in test1.txt test2.txt test3.txt; do echo -e "hello\nworld" >> $f; done

テキストが atest.txt にある場合は、次のようにします。

for f in test1.txt test2.txt test3.txt; do cat atest.txt >> $f; done
于 2009-01-02T11:51:05.343 に答える