疑問点
perlを用いたワンライナー表記で2点疑問があります.
①ターミナル上である圧縮されたテキストファイルをzcat/gzcatで表示したものをパイプでperlのスクリプトに渡して,
表示するという単純な表記を行ったのですが,
gzcat log.gz | perl -ne ' print("$");'では出力されるものが,
gzcat log.gz | perl -e ' print("$");' のようにnオプションをとると表示されません.
nオプションについて検索するとwhile(<>)のように繰り返しを行うといったことが書いてあるのですが,このケースの場合必要はないような気がします.なぜ後者の表現では出力されないのでしょうか.
②ファイルの中身をsplit()を用いて第一フィールドの値のみ表示させようとした場合,
gzcat log.gz | perl -en 'split(/ /); print("$_[0]");'
のように表記してもなにも表示されません. split()の使い方が間違っているのでしょうか.
以上2点の質問になります.どなたか知識のある方,回答宜しくお願い致します.
gzcat log.gzの表示結果は以下のようになります.
user@usernoPC- ~/sample> gzcat log.gz aaa aaa bbb bbb ccc ccc aaa aaa bbb bbb ccc ccc aaa aaa bbb bbb ccc ccc aaa aaa bbb bbb ccc ccc aaa aaa bbb bbb ccc ccc aaa aaa bbb bbb ccc ccc aaa aaa bbb bbb ccc ccc aaa aaa bbb bbb ccc ccc aaa aaa bbb bbb ccc ccc aaa aaa bbb bbb ccc ccc aaa aaa bbb bbb ccc ccc aaa aaa bbb bbb ccc ccc aaa aaa bbb bbb ccc ccc aaa aaa bbb bbb ccc ccc aaa aaa bbb bbb ccc ccc aaa aaa bbb bbb ccc ccc aaa aaa bbb bbb ccc ccc aaa aaa bbb bbb ccc ccc aaa aaa bbb bbb ccc ccc aaa aaa bbb bbb ccc ccc

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。