Posts
13 posts[bash: bc, sed] 1보다 작거나 -1보다 큰 계산 결과에서 앞자리에 0 표시하기 (.5 -> 0.5)
우선, 리눅스에서 bc를 이용한 산수 계산에 대한 기본적인 내용은 이전 게시물을 참고하자. 여기로 bc로 계산한 결과 값이 -1에서 1 사이일 경우, 정수 자리의 0은 표시되지 않는다. 아래의 예시를 보자. echo "scale=2; 10/11" | bc .90 echo "scale=2; -11/12" | bc -.91 위의 예시에 나온 결과값을 0.90, -0.91 이렇게 표시해 주고 싶을 경우, bc 자체적인 옵션은 없는듯하고, sed를 이용해서 아래와 같이 대체를 해 줄 수 있다. sed를 이용한 문자열 대체의 기본은 여기로 결과값이 양수일 경우와 음수일 경우를 각각 대체해야 하므로, sed에 -e 옵션을 사용하여 두가지 대체 방법을 지정해 준다. -e 옵션에 대한 내용은
[bash: bc, sed] 1보다 작거나 -1보다 큰 계산 결과에서 앞자리에 0 표시하기 (.5 -> 0.5)
우선, 리눅스에서 bc를 이용한 산수 계산에 대한 기본적인 내용은 이전 게시물을 참고하자. 여기로 bc로 계산한 결과 값이 -1에서 1 사이일 경우, 정수 자리의 0은 표시되지 않는다. 아래의 예시를 보자. echo "scale=2; 10/11" | bc .90 echo "scale=2; -11/12" | bc -.91 위의 예시에 나온 결과값을 0.90, -0.91 이렇게 표시해 주고 싶을 경우, bc 자체적인 옵션은 없는듯하고, sed를 이용해서 아래와 같이 대체를 해 줄 수 있다. sed를 이용한 문자열 대체의 기본은 여기로 결과값이 양수일 경우와 음수일 경우를 각각 대체해야 하므로, sed에 -e 옵션을 사용하여 두가지 대체 방법을 지정해 준다. -e 옵션에 대한 내용
[bash: sed] 행 맨 앞에 있는 공백 제거
간단한 내용이지만 의외로 사용할 일이 많아서 여기에 정리해 두기로. 출력 결과의 앞쪽에 공백이 여러칸 있는 경우, sed의 문자열 대체 기능을 이용해서 제거할 수 있다. 아래의 예시를 보자. # 기본 예시: sed에서 문자열 abc를 123으로 대체 echo "abcd" | sed 's/abc/123/' 123d # test1.txt 파일의 내용 출력 cat test.txt abc def ghi 위의 경우 맨 앞의 공백이 동일하게 2칸씩이다. 이런 경우는 아래와 같이 제거해 주면 되겠다. 정규표현식(regular expression, regex)에서 행 맨처음을 나타내는 "^" 기호를 사용한다. # test1.txt 출력, 각 행 앞쪽의 공백 2칸 제거 ca
[bash: sed] 슬래시(/)가 포함된 문자열 대체하기
우선 sed를 이용한 문자열 대체의 기본적인 예시는 이전 게시물을 참고하자. 여기로. # abc를 ABCD로 대체 echo "abc" | sed "s/abc/ABCD/" ABCD 그런데 만약 대체하고자 하는 문자열 자체에 슬래시(/)가 포함되면 어떻게 할 것인가? 의외로 방법은 간단하다. sed에서 통상 슬래시를 구분자로 사용하지만, 사실은 s 옵션 바로 다음에 나오는 문자가 구분자로 지정된다. 그리고 이 구분자가 반드시 슬래시일 필요는 없다. 아래의 예시를 보자. # ab/c를 ABC/D로 대체, 구분자는 "%" echo "ab/c" | sed "s%ab/c%ABC/D%" ABC/D "s/문자열/문자열/" 형태 대신 "s%문자열%문자열%" 형태로, 구분자를 퍼센트(%) 기



