bash script2024. 8. 5. 13:01

우선 sed를 이용한 문자열 대체 방법은 이전 게시물을 참고하자. 여기로.

이전 게시물의 예시를 그대로 가져와 보면 아래와 같다. 처음 나오는 abc를 ABCD로 교체하는 경우다.

echo "abc_abc_abc" | sed "s/abc/ABCD/"
ABCD_abc_abc

출현하는 문자열 모두를 대체하려면 아래와 같이 하면 된다.

echo "abc_abc_abc" | sed "s/abc/ABCD/g"

그렇다면 처음 나오는 2개의 문자열만 대체하려면 어떻게 해야 할까? 첫번째 출현하는 문자열을 대체하는 설정을 2번 반복해 주면 된다. 구분은 세미콜론(;)으로 한다. 처음에 나오는 2개의 abc만 ABCD로 바꾸고 싶다면 아래와 같이 하면 된다.

echo "abc_abc_abc" | sed "s/abc/ABCD/;s/abc/ABCD/"
ABCD_ABCD_abc

같은 패턴이 반복해서 출현하는데 앞의 몇개만 대체하고 싶을 경우에 활용하면 되겠다. 아래와 같이 -e 옵션을 이용하는 방법도 있는데, 위의 추가적인 방법을 알게 되어 정리해 둔다. (-e 옵션 사용은 이전 게시물을 참고하자. 여기에)

echo "abc_abc_abc" | sed -e "s/abc/ABCD/" -e "s/abc/ABCD/"

 

 

728x90
Posted by 반달가면
리눅스2024. 8. 1. 12:58

 

리눅스 민트(linux mint) XFCE 버전에서 4k 해상도 모니터를 사용할 경우 아이콘과 글씨 등이 너무 작게 나오기 때문에, 화면 설정을 변경해 줄 필요가 있다. 2가지 설정을 변경해 주면 되는데, 어플리케이션 메뉴의 Settings -> Appearance 항목과 Settings -> Window Manager 항목이다. 

먼저 Settings -> Appearance 항목을 보자. 어플리케이션 메뉴에서 선택하거나 터미널창에서 아래와 같이 입력해서 설정창을 띄운다. 

xfce4-appearance-settings

 


설정창이 나오면 settings 탭으로 간다. 여기서 Window Scaling이라는 항목이 있는데 1x 또는 2x를 선택할 수 있다. 1x는 현재 상태이고, 2x는 윈도우를 2배로 키우는 것이다. 2x를 선택하면 UHD에서 볼만한 크기가 된다. 

아직 한가지 문제가 더 남아 있는데 다른 부분들은 2배가 되었으나 실행창 맨 위에 윈도우 제목, 최대화, 최소화, 닫기 등 있는 부분이 여전히 매우 얇은 상태로 남아 있을 것이다. 이 부분을 해결하려면 Window Manager에서 설정을 바꿔야 한다. 어플리케이션 메뉴의 Settings -> Window Manager 항목을 선택하거나 터미널창에서 아래와 같이 입력.

xfwm4-settings

 


설정창이 나오면 윈도우 테마(Theme)를 UHD에 맞는 것으로 바꿔준다. Default-hdpi 또는 Default-xhdpi를 선택하면 된다. 필요 따라 title font 크기도 적당히 조정해 주자.

여기까지 하면 XFCE에서 4k 해상도를 사용하는데 큰 문제가 없을 것이다. 

 

728x90
Posted by 반달가면
bash script2024. 7. 31. 10:32

awk를 이용해서 특정 위치의 문자열, 또는 문장(행 전체)의 길이를 확인할 수 있다. length() 함수를 이용하면 된다. awk 기본 사용법을 알고 있다면 아래의 예시를 보고 금방 감을 잡을 수 있을 것이다. 

# 세번째 위치에 있는 문자열($3)의 길이 확인
echo "Hello, my name is John." | awk '{ print $3 ":" length($3) }'
name:4

# 행 전체($0)의 길이 확인
echo "Hello, my name is John." | awk '{ print $0 ":" length($0) }'
Hello, my name is John.:23

조건문과 결합해서 사용할 수도 있다. 

# 첫번째 위치의 문자열 길이가 5 이상인 경우에 행 전체 출력
echo "Hello, my name is John." | awk '{ if (length($1)>=5) { print $0 } }'
Hello, my name is John.

 

 

728x90
Posted by 반달가면
리눅스2024. 7. 29. 11:10

 

리눅스 민트(linux mint) 최신판(버전 22)이 공개되었다. 우분투 24.04 LTS 기반으로 만들어졌고 커널 버전은 6.8이다. 당장 필요한 것은 아니지만 시험 삼아 XFCE 버전을 받아서 버추얼박스(virtuabox) 가상머신을 만들어 보았다. 

설치는 영어판에 한글 키보드로 설정하여 진행하고 나중에 한글 입력기를 추가 설치해 주었다. 한글 입력 설정은 예전 리눅스 민트 20 XFCE와 동일하게 ibus를 사용했다. 관련 내용은 여기로

설치할 때 수동으로 디스크 파티션을 설정했는데, 스왑(swap)은 사용하지 않고 아래와 같이 설정했다. 

5MB: Reserved BIOS boot data
50MB: EFI System Partition
나머지: EXT4, 마운트 포인트는 루트 디렉토리(/)

 

설치후 화면 해상도가 1024x768에서 더 이상 커지지 않아서 버추얼박스 게스트 확장(Guest Additions)을 설치했다. 가상머신 메뉴에서 Devices -> Insert Guest Additions CD image 항목을 선택해서 iso 이미지를 마운트한 후, VBoxLinuxAdditions.run 파일을 루트 권한으로 실행하면 된다. 설치 완료후 재기동.

 

공유 폴더 권한은 사용자를 vboxsf 그룹에 추가해 주면 활성화된다. 터미널창에서 아래와 같이 작업. 예를 들어 사용자 id가 john이면 아래와 같이 입력.

 

sudo usermod -a -G vboxsf john

 

로그아웃했다가 다시 로그인하면 공유 폴더를 사용할 수 있다.

 

설치를 완료하면 디스크는 약 7.3GB 정도 차지하고, 처음 부팅했을 때 RAM은 900MB 정도 사용하는 듯. 일단 첫 느낌은 나쁘지 않다.

 

728x90
Posted by 반달가면