初歩的な質問で恐縮ですが、以下のPerlのワンライナーを、スクリプトファイルに記述するには、どのように書けば良いのでしょうか。
perl -ne "print if ( /aaa/ ); print if ( /bbb/ ); print if ( /ccc/ );" "in.txt" > "out.txt"
下記のようにしてみたのですが、ダメでした。
perl "script.pl" "in.txt" > "out.txt"
----- script.plの内容 -----
print if ( /aaa/ );
print if ( /bbb/ );
print if ( /ccc/ );
---------------------------
環境はWindowsのコマンドプロンプトです。バッチファイルでの使用を想定しています。
自分はPerlに関する知識が無いので、Perlに関するサイトも見てみたのですが、情報が膨大で、ピンポイントでこの問題を解決する情報を探し出す事が出来ませんでした。
やり方が分かる方がおられましたら、お教え頂けないでしょうか。
No.2ベストアンサー
- 回答日時:
であれば, 一番簡単なのは
perl -n "script.pl" "in.txt" > "out.txt"
じゃないかな?
再度、ご回答ありがとうございます。
No.1の補足に書かせて頂いた方法でも出来たのですが、「-n」オプションを付けるだけでも出来たのですね。スクリプトを実行する際は、オプションは付けないものだとばかり思っていました。
こちらのやり方の方が簡単ですね。「-n」オプションを使う方法でやっていこうと思います。
ご回答、本当にありがとうございました。
No.1
- 回答日時:
オプション -n の意味はなんですか?
この回答への補足
昔、Perlについて調べていた時のメモに色々なサンプルがあったので、それの一部を引用して、ダメモトで試してみたら、無事に出来ました。文頭に「while (<>) {」を付け、文末に「}」を付け、以下のようにしたら動作しました。お手数をお掛けしてすみませんでした。ありがとうございました。
-------------------
while (<>) {
print if ( /aaa/ );
print if ( /bbb/ );
print if ( /ccc/ );
}
-------------------
ご回答、ありがとうございます。
WEB検索で得た情報になりますが、「-n」オプションは、「以下のループの内部にスクリプトがあるような動作する」オプションだそうです。
私は、Perlの知識が無いので、WEBで調べたものをそのまま実行しているので、オプションの意味については、調査済みではありますが、その意味を理解して使っている訳ではありません。
ご回答、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux Linuxについて質問です。 以下のhistoryの出力結果から、sedコマンドのファイル名tmp1 1 2023/02/03 20:11
- JavaScript JAVASCRIPT 2 2022/04/15 15:10
- その他(プログラミング・Web制作) パイソンのプログラムで continue と passの違い 3 2022/03/25 07:38
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- その他(プログラミング・Web制作) awkのtoupper() 1 2022/10/21 20:39
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- その他(プログラミング・Web制作) pythonでのリスト内抽出について 1 2022/03/23 14:59
- Perl perl このテキストファイルを簡単に配列に入れるには? 2 2022/04/27 20:24
- CGI CGIで出力するhtmlの<!DOCTYPE html>等のタグは要りますか? 2 2023/02/05 21:26
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
while文がうまく動かない
-
ifstream/ofstream について
-
perlでCSVをソートする方法につ...
-
Pythonでegrep機能をつかいたい
-
batファイルでrenameができませ...
-
エラー 'dir.h' : No such fi...
-
HTMLのフォームで画像と文...
-
ExcelをCSV書き出す場合のシー...
-
awkスクリプトでダブルクォーテ...
-
Perlの変数に文字数制限(容量...
-
readdir()で得られるファイル・...
-
ファイル全てを .xlsm に変更し...
-
while(<ハンドラ>) {} で行数を...
-
パスから最後のディレクトリだ...
-
テキストデータから指定した1...
-
一定時間が経過したフォルダの削除
-
htaccessで特定のディレクトリ...
-
ReadLineでの読み出し行を指定する
-
1行がやたら長いテキストをバッ...
-
chdirがうまくできない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル名を複数個配列で確保...
-
Fortranで1行飛ばして読み込む方法
-
perlで指定範囲を複数ファイル...
-
Pythonでegrep機能をつかいたい
-
「パスが見つかりません」とい...
-
ifstream/ofstream について
-
テキストファイルの各行を配列...
-
Perlのワンライナーをスクリプ...
-
ifstream を利用した1行分のテ...
-
C++でのテキストファイル読み込...
-
perlプログラム 外部複数ファ...
-
system関数と引数について
-
Perl 重複カウント 上位3名
-
Pythonで非日本語のUnicode文字...
-
shellのコマンド deffの差分の...
-
perlで先頭の数値をみて昇順に...
-
Visual Basicを使って三平方の...
-
while文がうまく動かない
-
Perl Grepについて
-
Perlによるディレクトリ内の連...
おすすめ情報