2011-01-05 2 views
1

유닉스 파이프 said의 발명가,텍스트 대신 파이핑 프리미티브,리스트, 구조체가 필요합니까?

이 유닉스 철학 : 하나의 일을하고 잘 할 프로그램을 작성가. 함께 일할 프로그램을 작성하십시오. 텍스트 스트림을 처리하는 프로그램은 범용 인터페이스이기 때문에 작성하십시오.

동일한 시스템 내에서 텍스트 스트림 대신 합의 된 이진 데이터 형식 (기본 형식, 목록, 구조)을 사용하여이 개념을 확인하고 싶습니다. 이렇게하면 각 프로그램이 데이터를 다음 프로그램에서 다시 구문 분석 할 수 있도록 텍스트로 인코딩하지 않아도됩니다.

제 생각에는 프로그램에 바이너리 형식으로 변환하거나 이진 형식에서 변환하는 라이브러리가 있어야합니다.

누구나 위와 같은 일을하는 표준 Unix 유틸리티와 동일한 정신으로 utils 세트를 만들었습니까?

+0

xml과 유사합니다. 게다가 바이너리 데이터 교환은 유닉스 철학의 일부분으로 존재한다.'tar -c | tar -x','tar -c | ssh 누군가 @ 어딘가에 tar -x' 등 – mvds

+0

나는 이것을 요구하는 것이별로 없다고 생각하지만, 하나의 컴퓨터로 제한하는 것 이외에는 이미 수백 개의 형식이 만들어져있는 것처럼 보입니다. 엔디안 등을 제거하면 corba, com, ans 등을 볼 수 있습니다. – Duck

+0

JSON은 텍스트입니다. \ * 한 손으로 박수 친다 \ * –

답변

1

예 - Windows powershell은 대부분이 작업을 수행합니다.

http://en.wikipedia.org/wiki/Windows_PowerShell

명확하게 -하고 매우 강력한 아, 그래 - 나는 리눅스 것은 아니지만, "누군가가"이런 짓을 한 것으로 알고 있습니다.

+0

아하, 누군가 그것을 했어! "Unix에서 한 명령의 출력은 일반적으로 원시 텍스트로 파이프 라인의 다음 단계로 파이프됩니다 .PowerShell을 사용하면 파이프 라인이 .NET 개체로 구성되며 개체를 사용하면 한 명령에서 임의의 텍스트 출력을 구문 분석 할 필요가 없습니다 모든 개체가 일관된 인터페이스를 내보낼 수 있기 때문에 데이터를 추출 할 수 있습니다. " 나는 오픈 소스가 그것을 할 때가되었다고 생각한다. – Vimes