2011-02-14 4 views
0

3 개의 파일을 꼬리로 만든 다음 새 파일을 만들면이 새 파일을 정렬 할 때 액세스 할 수 없다는 메시지가 나타납니다. 따라서 코드 $ a, $ b 및 $ c는 텍스트 파일입니다. 그렇다면이 파일을 어떻게 정렬 할 수 있습니까?Bash, 꼬리 사용 후 정렬

tail -q -n -5 $a $b $c > file.txt 
sort file.txt -o file.txt 

답변

7

시도 : sort

tail -q -n -5 $a $b $c | sort > file.txt 
+0

@ user616731 ​​: 원본이 작동하지 않는 이유는'sort'가'file.txt'에서 동시에 읽고 쓸 수 없기 때문입니다. 이 답변은 선호하는 방법이지만 다른 임시 파일을 사용할 수도 있습니다 (예 : 'sort file.txt -o result.txt'. –

1

버전은 무엇? GNU coreutils 7.4에서는 저에게 적합합니다.

당신이 리디렉션이 읽을 sort 전에 파일을 잘라 내기 때문에이 작동하지 않을

sort file.txt > file.txt 

을 수행한다면. 그러나 strace을 수행하면 sort -o은 끝날 때까지 출력 파일에 쓰지 않습니다.