こんにちは。愛子@UNIX1年生 です。 今回、Cシェルを作成することになり、Cシェルはじめて2週間といった 初心者です。どうぞ、宜しくお願いします。 さて、質問なのですが・・・ [ test.txt ] apple 133 123 orange 133 123 candy 133 156 というファイルがあります。 このファイルの各行末に 変数 TEMPSTR に 格納されている文字列を連結するというCシェルを 作成しようとしています。 [ 作成したシェルスクリプト ] #!/bin/csh set TEMPSTR = "LIST" sed 's/$/,123.45/' < test.txt sed "s/^/${TEMPSTR},/" < test.txt sed "s/$/,${TEMPSTR}/" < test.txt [ 実行結果 ] apple 133 123,123.45 orange 133 123,123.45 candy 133 156 ,123.45 LIST,apple 133 123 LIST,orange 133 123 LIST,candy 133 156 文法があいまいです。 となります。 行頭挿入は、出来るのに行末追加は出来ないのは何故でしょうか??? 文法があいまい ということは、変数の指定がいけないと思うのですが ・・・ 変数の中身は、固定でないので(各行違うデータを文末につけるので) 変数を用いなればなりません。 sed以外でも ファイルの各行の文末に文字列を連結することが 出来るコマンドがあれば、そちらの方法でも構いません。 (行数分LOOPを回してやるというLOOP処理では行数が1万行とかあるので NGですが) 質問の仕方が下手で申し訳ありませんが、宜しくお願い致します。 ちなみにバージョンは、UNIX(r) System V Release 4.0 です。 どなたか、ご教授いただければ大変、嬉しく思います。 |