2014-06-10 2 views
8

어떻게 Bash에서 텍스트 파일을 뒤집을 수 있습니까? 다음 Bash에서 텍스트 파일을 뒤집기

book 
pencil 
ruler 

내가이 얻을 수있는 방법

: some.txt 예를 들어

이 포함? :

relur 
licnep 
koob 
+2

그냥 사용 ['tac'] (http://www.gnu.org/software/coreutils/manual/html_node/tac-invocation.html). :-) –

+0

이것은 매우 유사하며 제 3 자에 의존하지만 게시판에 따르면 linux/mac에서는 대개 어쨌든 설치됩니다. http://stackoverflow.com/questions/11461625/bashreverse-the-order-of -characters-in-a-string – FreudianSlip

답변

25

tacrev 명령의 결합 된 형태를 시도

$ tac file | rev 
relur 
licnep 
koob 

man tac

전술에서 -에서 역

에 연결하여 인쇄 파일3210

rev 유틸리티는 지정된 파일을 표준 출력으로 복사하여 모든 행의 문자 순서를 역순으로 바꿉니다 ( ). 파일을 지정하지 않으면 표준 입력이 읽 t집니다 ().

+5

+1; OSX 사용자 :'tac'는 거기서 사용할 수 없으며 대신'tail -r'을 사용하십시오. – mklement0

+0

OsX에서,'tac'을 대체 해보십시오 :'sed -n -e '1! G'-e '$ p'-e h' 또는 더 간단 :'sed -ne '1! G; $ p; h'' –

0

Mac OS X은 대체 문자열에 이스케이프 처리 된 개행 문자를 허용하는 FreeBSD sed을 사용합니다.

F. Hauri가 제공 한 다음 버전의 솔루션은 GNU sed 4.2.1, FreeBSD sedminised 1.15에서 작동합니다.

escnl='\ 
' 

sed -ne ' 
    /../!b; 
    s/^.*$/'"${escnl}"'&'"${escnl}"'/; 
    tx; 
    :x; 
    s/\(\n.\)\(.*\)\(.\n\)/\3\2\1/; 
    tx; 
    s/\n//g; 
    :; 
    1!G; 
    $p; 
    h 
' <<<$'book\npencil\nruler' 
관련 문제