2014-10-19 2 views
0

다음 줄이 텍스트 파일에서 반복됩니다. 5 번째 열 항목을 2 진수에서 10 진수로 변환하는 것을 도와 줄 수 있습니다. 새 파일을 만들지 않고 기존 파일을 편집하고 싶습니다.특정 열을 2 진수에서 10 진수로 변환하는 쉘 스크립트

-117.894687  33.663901 0.000000 0,0,0 1010000000000000000000000000000000  1637.10  238.88  1719.04 
+0

[여기] (http://unix.stackexchange.com/questions/65280/binary-to-hexadecimal-and-decimal-in-a-shell-script) 보셨습니까? – dramzy

+0

기존 파일을 편집 할 때 항상 새 파일을 만듭니다. 텍스트 편집기에서이 작업을하고 있다면, 새로운 파일은'/ tmp /'에 만들어지고 최종 파일을 다시 디스크에 쓰면 이전 파일이 삭제됩니다. 또한, 제안하는 크기 변경에 대해서 생각해보십시오. '1010000'을 312 (또는 무엇이든) 뒤에 공백으로 대체하거나 대체가 끝날 때 줄 바꿈을하면 파일의 길이가 짧아집니다. 행운을 빕니다. – shellter

답변

0
#!/bin/bash 
bin=1010000000000000000000000000000000 

echo "The decimal value of $bin is $((2#$bin))" 

지금의 순서 위의 문자열을 중단하고 cut 명령을 사용하여 chmod +x binconv.sh

그런 다음 잘라 내기 명령을 전송하여 위의 쉘 스크립트 실행을해야이 파일을 보낼 수 및 명령 라인을 통해하면 modif 그것에

bash binconv.sh 1010000000000000000000000000000000

있어서, 상기 스크립트를 변경할 y bin=1010000000000000000000000000000000 to bin=$1

관련 문제