
文字列に対して一般的な操作を実行すると、ack
ファイル名、行番号、一致する行を含む行が次のように取得されます。
$> ack function
mymodule.file
8: function myfunction1() {
16: public function __construct( $protocol = 'ftp') {
36: public static function getSupportedProtocols() {
ただし、ack
2番目の文字列の結果を計算すると、次の行に1行にさらに多くの情報が表示されます。
$> ack function|ack test
mymodule.file:897:function mytest() {
結果をgrepingするときにもこのようなことが起こることがわかりましたack
。
各情報行を1行に減らすには?これはシェルによって行われますか?
答え1
ack
これはそれ自体で行われます。ack
標準出力が端末に接続されていることを確認し、そうでない場合は別の形式で出力を印刷します。この形式は、テキスト処理(テキスト処理grep
やテキスト処理自体など)用にack
設計されたアプリケーションで処理する方が簡単なために選択されているようです。