8

元のデータを変更せずに、ファイルを読み取り、文字列を追加して新しいファイルに出力する、非常に単純な(うまくいけば)1行のコマンドが必要です。

file1               string
------              ------
apple               oranges
bananas

マジックコマンド

filel               file2
------              ------
apple               apple
bananas             bananas
                    oranges

基本的に、cat file1 + 'oranges' > file2

コマンドを実行するためにautosysを使用していますが、単一のコマンドの一部として、&&またはその一部として許可されていないと確信しています。;

4

3 に答える 3

31

あなたはこれを行うことができます:

(cat file1 ; echo 'oranges') > file2

これにより、file1 を stdout に cat し、oranges を stdout にエコーする 1 つのサブシェルが生成されます。そして、そのすべての出力をキャプチャして、新しいファイル file2 にリダイレクトします。

または、次の 2 つのコマンド:

cp file1 file2 
echo 'oranges' >> file2

最初に file1 を新しい file2 にコピーしてから、oranges という単語を file2 に追加します。

を使用しない別のライナーを次に示します。または &&

echo oranges | cat file1 - > file2
于 2012-07-09T19:33:00.733 に答える
1
awk '1; END{ print "oranges"}' file1 > file2

shに文字列として渡す場合は、おそらく標準ソリューション(nosで指定)を使用できます。

sh -c 'cat file1; echo oranges' > file2
于 2012-07-10T10:51:14.423 に答える
1

次に、これを行う必要があります:

$cat file1 >> file2; echo "orange" >> file2;
于 2012-07-09T19:34:05.200 に答える