스트림 필터 또는 매개변수 전용 도구로 스크립트를 작성하시겠습니까? [폐쇄]

스트림 필터 또는 매개변수 전용 도구로 스크립트를 작성하시겠습니까? [폐쇄]

저는 간단한 데이터/텍스트 파일 처리를 위한 도구 상자인 쉘 도우미 스크립트 세트를 작성하고 있습니다.

다음과 같은 몇 가지 간단한 도구가 있습니다. dateToTimestamp또는 showParagraphHeads.

내 질문은 다음과 같습니다

흐름 필터로 작성해야 합니까, 아니면 매개변수 도구로만 작성해야 합니까?


간단히 설명하겠습니다. 일부 표준 셸 도구는 awk, sed또는 와 같은 분명히 스트림 필터이지만 tr다른 sort도구는 유사한 매개변수로만 작동합니다 date(setter/getter이지만 무엇이든 상관없습니다).

showParagraphHeads:

이제 각 텍스트 블록의 첫 번째 줄을 표시하는 스크립트를 작성하면(awk/sed의 짧은 줄임에도 불구하고) 대답은 분명합니다. 이를 수행하려면 여러 줄의 스트림/파일이 필요하기 때문입니다.

dateToTimestamp:

하지만 날짜를 YMDhms에서 타임스탬프로 변환하는 내용을 작성하면스트림 필터 또는 매개변수 전용 도구로 사용할 수 있습니다.( 와 유사 date) 사용법은 다음과 같습니다. dateToTimestamp DATE_IN_YMDhms


이제 두 가지 방법 모두 장단점이 있습니다. 때로는 파이프와 스트림 필터를 사용하는 것이 더 쉽습니다. 또 다른 경우에는 더 복잡한 데이터가 있고 awk {system()}특정 열에 대해 작업해야 할 경우 매개변수 기반 도구를 사용하는 것이 더 쉬울 것입니다.


나는 이것이 일반적인 질문이라는 것을 알고 있지만 아마도 *nix 세계 어딘가에 존재할 수 있는 몇 가지 규칙이나 지침을 알고 있을 것입니다.

감사해요.

답변1

~의 일부유닉스 철학"공통 인터페이스이므로 텍스트 스트림을 처리하는 프로그램을 작성하십시오."이거나 스트림 필터를 사용하십시오.

즉, 이러한 도구를 어떻게 사용하고 싶습니까(또는 필요합니까)?

이 질문에 대한 대답은 도구별로 귀하의 질문에 답하도록 하십시오. 왜냐하면 Unix 철학의 또 다른 부분은 간단한 구현을 갖춘 기능적으로 단순한 프로그램이 다른 프로그램과 일관되게 작동하는 프로그램보다 낫다는 것이기 때문입니다.

따라서 귀하의 예에서 날짜 형식을 변환하는 유틸리티가 매우 간단한 경우(매개변수를 허용하는 경우) 요구 사항을 충족하는 경우에만 매개변수를 허용합니다.

관련 정보