2010-01-23 4 views
3

.bash_profile 스크립트가 있는데 작동하려면 다음을 얻을 수 없습니다. 별칭 lsls = 'ls -l | 종류 -n +4 '쉘 스크립트에서 작은 따옴표가 작동하지 않습니다.

나는 별명 lsls를 입력 할 때 가 정렬을 수행하지만 이 오류 메시지가 게시 "-bash : 4 : 명령을 찾을 수 없습니다" 가 어떻게 작동하도록 별칭을받을 수 있나요' +4 '?

ls -l | 종류 -n 4 명령 행에서

내가 OS X에 도움 당신은 ls -l | sort -n -k 5 필요

+0

, "VI", "하나", "따옴표"태그의 원래 세트를, 이 사이트에서 본 적이있는 질문에 가장 적게 적응해야합니다. 그리고이 사이트에는 참으로 이상한 태그가 있습니다. –

답변

4
bash-4.0$ ls -l | sort -n +4 
sort: open failed: +4: No such file or directory 

10.4

감사 해요, GNU 종류의 BSD 종류

alias lsls='ls -l | sort -n -k 5' 
다른

편집 : 0 기반 인덱싱에서 1 기반 인덱싱으로의 변경을 반영하도록 업데이트되었습니다 (Matthew에게 감사드립니다.).

+0

보고 된 "+4 : command not found"오류가 아닙니다. OS X 10.4의'sort '는 두 구문 모두를 지원합니다. 그리고'+ 4 '에 해당하는 것은'-k 5'입니다. –

+0

@Matthew 그리고 맞습니다. OS X 10.4에서 +4가 지원되는 것 같습니다. 별칭은 OS X 10.4에서 완벽하게 작동했습니다. – wich

0

This link는 파이프가 포함 된 매우 유사한 별칭에 대해 설명합니다.

문제가 파이프가 아닐 수도 있지만 흥미로운 해결책은 기능을 사용하는 것이 었습니다.

+1

문제는 파이프가 아닙니다. 문제는 gnu sort가 다른 인수를 취합니다. +4는 -k이어야합니다 4 – wich

1

alias lsls='ls -l | sort -n +4'은 OS X 10.4 (이 해당 구문을 지원합니까)의 sort과 잘 작동합니다.

내가 입력 할 때 별명이 정렬하지 lsls하지만이 오류 메시지 "-bash : 4 : 발견되지 명령"게시물

은 편집 할 때 길 잃은 줄 바꿈을 삽입하는 것이 그것을 가능 .bash_profile? 예 : 만약 당신이 이런 식으로 끝난 :

alias lsls='ls -l | sort -n 
+4' 

... 그 오류 메시지를 설명 할 수 있습니다.

여담으로

, 당신은 사용하여 모든 sort을 통해 배관없이 같은 효과를 얻을 수 있습니다 :

ls -lrS 
+0

ls -lrS가 더 나은 답변이지만 OSX 10.6.x에서는 sort -n +4가 적어도 –

+0

에서 작동하지 않습니다. 그러나 원래 포스터는 특별히 "OS에 있습니다. X 10.4 "입니다. 그리고 실제로 그것을 시도했습니다. –

관련 문제