0

新しい行で区切られたテキスト ファイルにデータのリストがある場合、最初に何かを追加し、次にデータを追加し、次に別の何かを追加してから再度データを追加する方法はありますか?

EG フィールド X は新しい X = X になります。

これは、bash や sed、または cut などの unix ツールだけで実行できますか?

編集:

「ITEM_SITE_ID :{$row['ITEM_SITE_ID']}
」を取得しようとしています。

この行 awk '{ print "\""$1 " {:$row['$1']}
" }'を使用しています

そして、この「ITEM_SITE_ID {:$row[]}」を取得します

私は何を逃したのですか?

4

2 に答える 2

1

多くの場合、Awkはこのようなタスクに最適なツールです。あなたの特定の例のために:

awk '{ print "new " $1 " = " $1 ";" }'
于 2008-10-30T14:34:04.613 に答える
1

問題は、一重引用符が適切にエスケープされていないことだと思いますが、これは実際には不可能です。

sedを使用:

sed "s/\(.*\)/\1 = \1;/"

またはあなたの場合:

sed "s/\(.*\)/\"\1 :{\$row['\1']}\"/"

そしてバッシュで:

while read line
do
    echo "\"$line :{\$row['$line']}\""
done

実際には、bash $'' 文字列を使用して awk で実行できます。

awk $'{ print "\\"" $1 " :{$row[\'" $1 "\']}\\"" }'
于 2008-10-30T14:48:09.687 に答える