お久しぶりです。awkに関する質問です。
以下のことがawkでどうやればできるのか教えてください。。。
perlでもokです。
たとえば、以下のようなファイルがあります。
↓ここから
--------------------------------------
[TARGET14]
reserved.target.name=Cata/検証/test
reserved.target.type=QUERY
authority.target.account=ADD,RWXECA,USER,avadmin
owner.target.account=avadmin
resource.target.alias=test
[TARGET34904]
reserved.target.name=Catalog/~検索/0830
reserved.target.type=QUERY
authority.target.account=ADD,RWX,GROUP,KGENPYO
authority.target.account=ADD,RWX,USER,avadmin
authority.target.account=ADD,RWX,GROUP,KYD
authority.target.account=ADD,RWX,GROUP,KYYA
authority.target.account=ADD,RWX,GROUP,KYC
authority.target.account=ADD,RWX,GROUP,KYDMTEST
authority.target.account=ADD,RWX,GROUP,KCHI
authority.target.account=ADD,RWXDPECA,USER,Y19901
owner.target.account=Y19901
resource.target.alias=データver.2.0
--------------------------------------
上記のファイルを1行に表示したい場合、どのように記述したらいいでしょうか。
CSVのようにカンマなどで区切って表示したいです。
[TARGET XXX]は空白行で区切られています。
ポイントはauthority.target.accountが複数ある(数は不定)ところです。
複数あるために、条件を絞ることができません。。
No.2ベストアンサー
- 回答日時:
[TARGET14],reserved.target.name=Cata/検証/test,reserved.target.type=QUERY・・・
[TARGET34904],reserved.target.name=Catalog/~検索/0830,reserved.target.type=QUERY・・
という具合にしてExcelにCSVとして読み込ませるような感じなのでしょうか?
としたら,たとえば先頭に"[TARGET"があったら改行ということにして,次のような感じでいけると思いますが.
{
if ($0=="")
next;
if (substr($0,0,7)=="[TARGET") {
printf("\n%s",$0);
} else {
printf(",%s",$0);
}
}
一番最初に改行が入りますけど,邪魔ならエディタで取っちゃえば良いでしょう.
maccha_nekoさん
回答ありがとうございました。
まさしくやりたかったことはこれです!助かりました。
改行というところに目が行かず、ひたすら変数に入れてどうにかやろうと
してました。
No.1
- 回答日時:
Perl ならたいていのことができそうだけど, そもそも「1行に表示する」とはどういうことだ? そして, 複数ある場合にはどうしたいの?
結果としてどうなればいいのかを言葉で表現するなり例示するなりしてください.
この回答への補足
Tacosanさん
すみません、説明不足でした。
要は、[TARGET XXX]から始まり、空白行までが1固まりになるのですが、
空白行までを改行せずに1行で表示したいです。
■前
[TARGET14]
reserved.target.name=Cata/検証/test
reserved.target.type=QUERY
authority.target.account=ADD,RWXECA,USER,avadmin
owner.target.account=avadmin
resource.target.alias=test
[TARGET 34904]
■後
[TARGET 14],reserved.target.name=Cata/検証/test,reserved.target.type=QUERY,authority.target.account=ADD,RWXECA,USER,avadmin,owner.target.account=avadmin,resource.target.alias=test
[TARGET 34904],・・・・
改行されているのを、[TARGET XXX],aaa,bbb,・・・のように1行で表示させたいです。
"authority.target.account"という項目が複数存在する場合があり、そこの処理で
行き詰ってました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel vba
-
同じシート内にイベントプロシ...
-
VBAで保存しないで閉じると空の...
-
WPSOffice_マクロの有効化について
-
エクセル関数>参照ファイル名...
-
エクセル ボタンに設定したマク...
-
Excel マクロの編集がグレーに...
-
エクセル マクロ名にブック名...
-
【Excel VBA】マクロでExcel自...
-
エクセルで、「いいね」のよう...
-
VBA Shapes コピーと名前
-
エクセルの表を複数枚印刷した...
-
Excelのマクロでボタンを押すと...
-
エクセルの、記録を終了したマ...
-
【Excel】マクロの保存先について
-
Excelのマクロ名の並び順の法則...
-
マクロの保存先、開いてるすべ...
-
【VBA】条件に一致しない行を削...
-
エクセルマクロで、別のブック...
-
複数のマクロボタンをまとめて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
同じシート内にイベントプロシ...
-
リストボックスで選択したexcel...
-
VBAで保存しないで閉じると空の...
-
WPSOffice_マクロの有効化について
-
Excel マクロの編集がグレーに...
-
エクセル関数>参照ファイル名...
-
エクセル ボタンに設定したマク...
-
Excelのマクロでボタンを押すと...
-
【Excel VBA】マクロでExcel自...
-
マクロの保存先、開いてるすべ...
-
エクセルの、記録を終了したマ...
-
複数のマクロボタンをまとめて...
-
エクセル マクロ名にブック名...
-
エクセルで、「いいね」のよう...
-
エクセルの表を複数枚印刷した...
-
【Excel】マクロの保存先について
-
エクセル;相対パスを絶対パスへ...
-
Excelマクロで、稼働中のマクロ...
-
【VBA】条件に一致しない行を削...
-
エクセルでマクロ(Excel 4.0)...
おすすめ情報