![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.5ベストアンサー
- 回答日時:
・いろんなテキストの変換作業のうち、半分位はsedでできます。
単純な比較、行の削除等はsedが簡単です。
テキストから数値を取りだし計算して、printf的な整形する、というのは苦手です。
最小構成のシステムの場合でも、sedが入ってない、ということは、まずありません。
・perl -ne / perl -npe でsedできることのほとんどができます。in-placeはsedの方が楽です。
sedできないことの多くは,perlならできます。
perl -Mモジュール ~ とすると、かなり面倒な処理も、モジュールの機能を使って1行でできてしまう場合もあります。
昔は完全にオプションでしたが、現在ならほぼ標準で入っているでしょう。
・awkはsedとperlの中間くらいです。
小さな構成でも、Perlに比べれば入っていることが多いです。
ということで。
・Linux等のUNIX系OSを使うなら、sedは必須です。
・awkは覚えておいて損は無いです。perlが使えない状況でも、awkなら使えることがあります。
・perlをスクリプトでしか使っていないなんて、もったいないです。
-eをオプションを使って「ワンライナー」を目指してください。
No.4
- 回答日時:
> awkを勉強するならsedも一緒に覚えたほうがいいのでしょうか?
そうですね、汎用さという観点では、以下の様な順になるかと思いますので。
シェル > grep, sed, awk > perl >> python > ruby
ただ、sedについて言えば、置換(sコマンド)だけ知っていれば十分のような気もします。
sedやawkを使いこなすには正規表現を極めることがとても重要なので、そちらについても
勉強されると良いかと思います。頑張ってください。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_02.png?5a7ff87)
No.3
- 回答日時:
両方共、テキスト処理を対象とするものですが、それぞれ、得手、不得手がありますから、両方、覚えておけば、レパートリーが広がっていいのではないでしょうか。
sed は、あくまで、行単位が処理ベースになりますので、それより、複雑な処理は、awkになるくらいがめやすですか。
また、sedは、スクリプトを書くことは少なくて、多くの場合、コマンドライン中に記載するケースが多いように思います。
No.1
- 回答日時:
昔よく使っていました。
awkでいろいろ加工し始めると、抽出された結果に対して更に何かを行うとか、抽出前のテキストをいじっておくとか、したくなります。
特に、awkはセパレータで区切られている事が肝なので、入力となるテキストをsedである程度加工してからawkに入れることが多いです。
#今はperlやrubyの方が使い出があるのかも知れませんね。
#私はsed&awkしか知らないので、今でもスクリプトを書くときはこれらを使います。
この回答への補足
>#今はperlやrubyの方が使い出があるのかも知れませんね。
perlはある程度使っているのですが、awkのほうがコマンドライン上からコマンドひとつで
即興で作れるので、スピードではawk > perlだとおもっているのですが。
いかがでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux Linuxについて質問です。 以下のhistoryの出力結果から、sedコマンドのファイル名tmp1 1 2023/02/03 20:11
- その他(プログラミング・Web制作) awkの BEGIN{RS=""} で空行を削除できるが、削除できる仕組みが分からない。 1 2023/05/02 14:14
- その他(プログラミング・Web制作) awkの正規表現での最左最短マッチング 3 2022/07/01 00:10
- その他(プログラミング・Web制作) awkの文字列比較はPOSIXロケールまたはCロケールにおいてバイナリ値の比較に使えるか gawkな 1 2023/04/22 09:21
- UNIX・Linux gawk 3 2022/08/18 14:07
- その他(プログラミング・Web制作) awkの$NR 2 2022/10/24 11:11
- その他(プログラミング・Web制作) テキストデータ変換(プログラミング、linux、python) 8 2023/08/08 16:39
- UNIX・Linux sedでの正規化 2 2022/05/10 11:39
- 教えて!goo このサイトで専門用語で質問して専門用語が分かる回答者を期待したが回答が得られない その例として例えば 4 2023/05/06 22:29
- その他(プログラミング・Web制作) sedの正規表現 1 2022/10/08 18:57
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Linux環境 grepで改行コード(CR...
-
grepで検索文字列が完全一致し...
-
sed で \\ を含む文字列に置換
-
grepで変数が使えない
-
HP-UXのメモリ搭載量を確認する...
-
grepでの抽出箇所のみ置換して...
-
シェルスクリプトでmd5sum
-
bashなどのシェル変数の値に改...
-
grepコマンドを使ったシェルに...
-
特定文字列間の文字列の抽出の...
-
フィールドでgrepみたいなこと
-
Dirコマンドでフォルダ内ファイ...
-
TOPコマンドで表示するCPU使用...
-
スクリプトのエラー「unexpecte...
-
batである文字列内に特定の文字...
-
UNIX コマンドにおける # や円...
-
エクセルの表にヘンな枠が・・・
-
pingは正常なのにtracerouteで...
-
SCコマンドでアクセス拒否
-
bashでシングルクォート内の変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Linux環境 grepで改行コード(CR...
-
grepで日付指定してlogを取り出...
-
grepで検索文字列が完全一致し...
-
sed で \\ を含む文字列に置換
-
grepで全角文字の行を抽出
-
【シェルスクリプト】awkの結果...
-
bashでブランク(空白)を検索文...
-
awkのフィールド数制限について...
-
フィールドでgrepみたいなこと
-
grepでの抽出箇所のみ置換して...
-
awkコマンドについて
-
zshの文字列置換機能
-
bashなどのシェル変数の値に改...
-
grepで拡張子がxlsxのファイル...
-
テキスト処理を行うツール
-
テキストファイルの間引き削除...
-
awkを用いて、特定の文字を含む...
-
特定の文字列を含む行だけ削除...
-
行頭と行末に文字追加
-
sedの置換での「|」表記
おすすめ情報