반응형

OS: Windows 10 Professional (64-bit)

Target: Synology NAS (고정IP 보유)


노트북의 하드디스크를 포맷하고 윈도우 10을 새로 설치했는데, 설치하고 나서 처음에 계정을 설정할 때 그냥 시키는 대로 Microsoft 계정으로 로그인하도록 지정했다.


어차피 로컬 계정이나 마이크로소프트 계정이나 일반적인 데스크탑 PC처럼 쓰는 경우에는 큰 차이가 없기 때문에 별로 상관하지 않았는데, 문제는 NAS에 연결하려고 시도해 보니까 아예 NAS에 로그인하는 과정 자체가 진행이 되지 않았다.

그러니까 "내 PC > 네트워크 드라이브 연결" 버튼을 누르고 \\주소\폴더 를 입력한 뒤에 "찾아보기" 버튼을 누르면 원래 로그인하라고 팝업 창이 떠야 되는데, 그 창이 뜨기 전에 접근할 수 없다는 오류 메세지만 뜨는 것이었다.


윈도우 로그인 계정을 로컬 계정으로 전환하고 나서는 네트워크 드라이브 추가가 잘 되길래, 일단 그렇게 쓰고 있다.

근본적인 해결 방법으로써 마이크로소프트 계정을 쓰는 상태에서 NAS에 접속하는 방법은 직접 확인하지는 못했지만 아마 이 문제 (http://www.theprojecty.net/wp/461) 같다.



반응형
블로그 이미지

Bryan_

,
반응형

1. 찾아서 바꾸기 기능 쓸 경우:


:%s/\t/[원하는 공백 크기]/g


예를 들어, 4칸의 공백으로 바꿀 경우,


:%s/\t/    /g




2. VIM에 정의된 다른 명령어의 조합으로:


:set expandtab

:set ts=4

:retab


set ts=4에서 ts를 원하는 숫자로 바꾸면 바뀐 크기만큼 적용된다.




반응형
블로그 이미지

Bryan_

,
반응형

OS: Ubuntu 16.04 (amd64)



우분투에 와인을 설치해 두고 쓰다 보면 몇몇 확장자의 파일에 wine에서 작동하는 어플리케이션들이 "Open With" 메뉴에 선택 항목으로 표시된다.

몇 가지 예를 들어 보면:


txt 파일에서 Open With에 notepad (윈도우 메모장)이 연결되고, 

png, jpg 같은 이미지 파일에는 Internet Explorer가 연결되고,

hwp 파일에는 리눅스용 한컴뷰어 대신 wine에 내장된 한글 워드프로세서가 연결

그외 다수...


우분투에서 wine을 적극적으로 사용하는 경우에는 편리할 수 있지만, 단순한 텍스트 문서를 열고 싶을 때 굳이 wine에 연동된 메모장을 쓰고 싶지는 않을 것이다.


Open With 에 나타나는 wine 기반 윈도우용 어플리케이션 목록을 제거하려면,

텍스트 에디터로 ~/.local/share/applications/mimeinfo.cache 파일을 열고,

"wine-extension-" 문자열이 들어가 있는 라인을 모두 제거한다.


예를 들어, txt 파일에는 wine-extension-txt.desktop과 wine-extension-htm.desktop이 쓰여져 있을 텐데, 이 라인들을 지우고 mimeinfo.cache 파일을 저장한다. 그러면 이후 txt 파일을 마우스 오른쪽 버튼으로 클릭했을 때, Open With에서 더이상 notepad는 보이지 않게 된다.



<참고자료>

[1] https://askubuntu.com/questions/186494/remove-wines-notepad-from-open-with-options

반응형
블로그 이미지

Bryan_

,
반응형

테스트 환경: Ubuntu 14.04, bash shell 사용



Bash 스크립트 파일에서 점점 awk를 써야 될 일이 많아지고, 그 awk 스크립트가 점점 더 복잡해지면서 한 줄에 주욱 이어서 썼더니 점점 가독성이 떨어지고 디버그하기 어렵게 되었다.


결론부터 말하자면, 그냥 가장 바깥에 있는 두 개의 single quote 문자 사이에는 마음대로 띄워써도 된다. ㅡㅡ;

개행 문자(newline), 탭 문자 마음대로 써도 상관이 없다.



그런데 내가 뭘 잘못했는지 command not found 에러가 났다.

뭐가 문제였을까?


확인해 보니,

awk [각종_옵션들] 

'                <---- awk 명령과 single quote 문자를 개행문자로 분리(...)

{

...

}

'


이런 식으로 썼던 거였다. 그러니까,


awk [각종_옵션들] '

{

...

}

'


코드의 시작을 나타내는 single quote 문자를 awk 명령줄과 같은 위치에 써야 하는데 그걸 엔터 쳐서 분리했더니, bash shell이 두 개의 서로 다른 명령으로 이해했던 것이었다. ㅜㅜ


아니면,

awk [각종_옵션들] \

'

{

...

}

'


이렇게 역슬래시로 다음 줄까지 명령 하나로 인식하도록 처리했어야 했다.


POSIX 명령의 기본 규칙을 잊지 말자. ㅠㅠ



반응형
블로그 이미지

Bryan_

,
반응형

두 개의 텍스트 파일에 각각 아래와 같이 데이터가 있는 경우,


 number.txt

alphabet.txt 

1

2

3

4

5

6

A

B

C

D

E

F


두 파일을 열(column)을 추가하는 형태로 이어붙여야 할 때가 있다. 즉,


1    A

2    B

3    C

4    D

5    E

6    F


이런 형태의 파일을 만들고 싶을 때, paste 명령을 쓰면 된다.


$ paste number.txt alphabet.txt


열 간의 기본 구분자는 탭 문자 '\t'로 되어 있다.

만약 두 열 간에 구분자를 다르게 주고 싶으면 -d 옵션으로 명시한다.


// 공백으로 구분할 때

$ paste -d ' ' number.txt alphabet.txt


// 쉼표로 구분할 때 (csv 파일 포맷)

$ paste -d , number.txt alphabet.txt


참고로 paste 명령 왼쪽에 있는 파일의 라인 수가 오른쪽 파일보다 짧더라도 구분자 문자를 먼저 추가한 다음 내용이 붙기 때문에 구분자를 기준으로 하면 각 column이 독립적으로 데이터를 유지할 수 있다.


 number.txt

alphabet.txt 

1

2

3

4

5

6

A

B

C

D

E

F

G
H
I
J
K


예를 들어 위의 두 파일을 paste로 이어붙이면,


1    A

2    B

3    C

4    D

5    E

6    F

G

H

I

J

K


이렇게 숫자 밑에 알파벳이 오지 않도록 column을 유지하며 붙는다.



반응형
블로그 이미지

Bryan_

,