No.2ベストアンサー
- 回答日時:
>awk '{
>gsub("bbb[\n]$","",$0);
>}' tmp.txt
入力レコードセパレータは指定しないと改行文字(\n)であり$0には改行文字は含まれないのでgsub()で一致する事はない。
仮にgsub()で一致してもbbbを削除するような書き方になっている。
print文の出力レコードセパレータは指定しないと改行文字(\n)なので必ず改行され、そのままでは文末にbbbがあった行とその次の行をつなげることが出来ない。
とりあえずawkで考えてみました。
(HP-UXで動作するか否かは確認していませんが、特別な事をやっているわけではないので動作するとは思います。)
awk '{match($0,/bbb$/)?ORS=" ":ORS="\n";print}' tmp.txt
各レコード(行)の出力はprint文です。
ただ、文末にbbbがある行の場合にはprint文の出力レコードセパレータ(ORS)を" "(1文字半角スペース)に設定し、それ以外の場合にはprint文の出力レコードセパレータ(ORS)をデフォルトの改行文字(\n)設定しprint文でレコード(行)を出力しています。
ちなみに文末にbbbbとかbbbbbとかでも次の行をつなげるようになっていますが。
文末がbbbの時だけなら
awk '{match($0,/ bbb$/)?ORS=" ":ORS="\n";print}' tmp.txt
かな?
まあ、参考程度ということで。
この回答へのお礼
お礼日時:2006/08/10 13:23
>入力レコードセパレータは指定しないと改行文字(\n)
>であり$0には改行文字は含まれないのでgsub()で一致
>する事はない。
>仮にgsub()で一致してもbbbを削除するような書き方
>になっている。
浅はかな知識で書いているもので知りませんでした。
大変役にたちました。ありがとうござました。
No.1
- 回答日時:
うまくいかないのは、改行ありのprint文をつかっているからかも
しれません。改行がないprintfの使用で下記のようなやりかたはいかが
でしょうか?
cat DATA.txt | awk '{printf $0;printf " ";if($NF!="bbb")print ""}'
一番右端のデータがbbbでない時だけprint文で改行をいれています。
http://homepage2.nifty.com/mozu/koza/awk_koza/aw …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- SQL Server ACCESSで3ファイルを結合して、表を作成するやり方を教えて下さい。 17 2022/08/15 20:34
- Excel(エクセル) ¥マークを含むパスの処理について(マクロ、または関数) 2 2022/12/25 02:11
- SQL Server ACCESSで複数テーブルを結合して、リストを作る方法を教えてください。 2 2022/08/12 19:32
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- その他(データベース) カラム上の重複を削除するクエリを教えてください 3 2022/04/12 14:11
- UNIX・Linux Linuxについて質問です。 以下のhistoryの出力結果から、sedコマンドのファイル名tmp1 1 2023/02/03 20:11
- Perl perl このテキストファイルを簡単に配列に入れるには? 2 2022/04/27 20:24
- JavaScript JavaScript|特定URLだった時、特定の要素を変更するコードの書き方を教えてほしいです 2 2023/08/25 21:43
- その他(プログラミング・Web制作) bashのgrepで複数の検索、かつスクリプト内で改行する方法を教えてください。 1 2022/10/06 20:09
- JavaScript 指定したパスが現URLに含まれていたら特定要素を削除するJavascriptのコードを教えてください 2 2023/04/27 17:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
LinuxのノートパソコンでDVDコ...
-
ubuntu(linux)のシャットダウン...
-
bashでシングルクォート内の変...
-
ubuntuのシャットダウンが進ま...
-
ubuntuで デイスク/deb/loopと...
-
AWSでSSH接続をしたいのですが...
-
Windowsのパソコンを使って仮想...
-
Windowsのローカルディレクトリ...
-
shellscript内のコマンドを、su...
-
tarで纏める際に、複数場外した...
-
linuxサーバーのキャッシュをク...
-
Ubuntu on Xorgのログインについて
-
ワイルドカードの使い方
-
Linux のシェルスクリプトの強...
-
ブレース展開の使い方での質問です
-
プログラミングPC、LinuxのOSパ...
-
Linuxについて2つ質問したいで...
-
ホストオンリーアダプタで接続...
-
ubuntuのサーバー(virtual box)...
-
ssl_request_logの必要性について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ubuntu(linux)のシャットダウン...
-
Postfixでドコモメールに送信す...
-
ubuntuのシャットダウンが進ま...
-
ログにserver reached MaxReque...
-
disktopのアイコン
-
AWSでSSH接続をしたいのですが...
-
Ubuntu on Xorgのログインについて
-
他のLinuxでも動くa.outの作り方
-
bashでシングルクォート内の変...
-
Windowsのローカルディレクトリ...
-
ubuntuで デイスク/deb/loopと...
-
Linux Mint 日本語入力できなく...
-
tarで纏める際に、複数場外した...
-
linuxサーバーのキャッシュをク...
-
Lubuntuのデスクトップのアイコ...
-
ssl_error_logのエラー内容(AH...
-
古いiMacにLinuxをインストール...
-
Red Hat系のLinuxのバージョン...
-
Linux のシェルスクリプトの強...
-
ssl_request_logの必要性について
おすすめ情報