ack에서 텍스트 형식을 다시 지정하는 방법은 무엇입니까?

ack에서 텍스트 형식을 다시 지정하는 방법은 무엇입니까?

string 에 대해 일반적인 작업을 수행하면 ack다음과 같이 파일 이름, 줄 번호 및 일치하는 줄이 포함된 줄을 얻습니다.

$> ack function
mymodule.file
8: function myfunction1() {
16:  public function __construct( $protocol = 'ftp') {
36:  public static function getSupportedProtocols() {

그러나 ack두 번째 문자열의 결과를 계산하면 다음 줄에 한 줄에 더 많은 정보가 표시됩니다.

$> ack function|ack test
mymodule.file:897:function mytest() {

결과를 greping할 때도 이런 일이 발생한다는 것을 알았습니다 ack.

각 정보 행을 하나의 행으로 줄이는 방법은 무엇입니까? 이것이 쉘에 의해 수행됩니까?

답변1

ack이 작업은 자체적으로 수행됩니다 . ack표준 출력이 터미널에 연결되어 있는지 확인하고, 그렇지 않은 경우 다른 형식으로 출력을 인쇄합니다. 이 형식은 텍스트 처리(예: 텍스트 처리 grep또는 텍스트 처리 자체)용으로 ack설계된 응용 프로그램에서 처리하기 가 더 쉽기 때문에 선택된 것 같습니다 .

관련 정보