2010-12-03 3 views
4

는 기본적으로 나는이 일을 해요 :유닉스 파이프가 split 명령에 대한 결과를 보내는 곳을 어떻게 바꿀 수 있습니까?

모두 1000 바이트하지만 분할에서 내 출력 파일로 가고 싶어 각

XAC, 파일 이름의 Xaa, XAB에 수출의 결과를 분할

export_something | split -b 1000 

특정 접두사가 붙은 보통 나는 이것을 할 것입니다 :

split -b <file> <prefix> 

그러나 배관 할 때 접두어에 플래그가 없습니다. 내가 찾고있는 것은 이것을하는 방법이다 :

export_something | split -b 1000 <output-from-pipe> <prefix> 

그것은 가능하니?

답변

12

예, -은 일반적으로 stdin 또는 stdout을 나타내는 데 더 많이 사용됩니다. 귀하의 예를

export_something | split -b 1000 - <prefix> 
+0

Perfect! 그냥 내가 필요로 한 것 –

3

사용 중 - 입력에 대한 입력의

출력 고정 된 크기의 조각을 PREFIXaa, PREFIXab에, ...;

기본 크기 은 1000 줄이며 기본 PREFIX는 입니다. 'x'입니다.

INPUT이 없거나 INPUT이 인 경우 표준 입력을 읽습니다. split --help 등의 입력으로

export_something | split -b 1000 - <prefix> 
1

사용 -

0

당신은 인라인 표현을 사용할 수 있습니다 말한다 (또는이 호출 무엇이든, 기억이 없다) 문자열로 함수에 직접 데이터를 내보낼 수 :

split -b 1000 "`export_something`" <prefix> 

희망 사항.

+0

그것은 하위라고 불린다. – Sorpigal

+0

아니요, 내용을 파일 이름으로 사용합니다. 여러분이 생각하는 것은 "프로세스 대체"입니다 :'split -b 1000 <(export_something) 접두어 ' –

+0

오, 알았어요. 나는'split '을 사용하지 않았으므로, 이제는 직접 텍스트 인수를 취할 수 없다는 것을 안다. 정보를 제공해 주셔서 감사합니다. 이제 어떻게 해야할지 압니다! – Blender

관련 문제