윈도우에서 multiple command를 한 줄에 처리하는 방법은 없을까요? 저는 윈도우에서 powershell을 주로 써서, 그것을 위주로 설명을 하도록 하겠습니다. 해당 쉘은 command들을 ;로 연결하는 방법이 있긴 합니다만, 1; 2는 1이 실패하던 성공하던 2를 실행합니다. &&이나 ||과 같은 것들을 지원하지 않아요. 먼저 현재 $PSversionTable을 보겠습니다. 그러면 현재 powershell의 버전이 나오는데요. 5.1임을 알 수 있어요. 저는 powershell을 5.1에서 7대로 올리려고 하는데요. 왜냐하면 버전 7부터 pipeline chain operator가 지원되기 때문입니다. 문서에 언급되고 있는 부분이에요. winget을 이용해서 설치해 보겠습니다. winget s..
명령어 검색 결과
간혹 가다가, command 로그를 기록하고 싶지 않을 때가 있습니다. 예를 들자면, secret 환경변수를 다른 어딘가에 넣고 싶을 때입니다. zsh에서는 이럴 때, fc 명령어를 쓸 수 있습니다. 문서를 보기 전에 간단한 동작 먼저 이해해 보겠습니다. fc -p 1.log를 입력해 봅시다. 인자로 1.log가 넘어갔는데요. 그 다음에 echo $HISTFILE을 입력해 보면 1.log가 나타남을 알 수 있어요. 이제, fc -P 명령을 입력한 다음에 1.log를 보겠습니다. 그러면, 1.log에 echo $HISTFILE과 fc -P가 저장되었음을 알 수 있습니다. 그러면 -p 옵션 다음에 아무것도 넣지 않은 경우 어떻게 작동할까요? fc -p 명령어를 수행한 다음에 echo $HISTFILE을 입력..
프로젝트를 분석하거나, 디버깅을 할 때 grep을 많이 이용하게 됩니다. 특정 키워드로 찾아 들어가면서 분석을 많이 하는 편인데요. 예를 들자면, a라는 패턴을 찾기 위해서 프로젝트 전체를 재귀적으로 탐색한 다음에 해당 코드를 보는 편입니다. 그런데, 저는 해당 패턴이 걸리는 줄 주변의 이전 라인, 다음 라인도 같이 출력을 하고 싶었습니다. 그러면 1개의 줄만 볼 때 보다 맥락을 조금 더 잘 파악할 수 있었을 것이기 때문입니다. 이런 옵션이 없었을 리가 없었습니다. 저만 몰랐을 뿐. grep 명령어에는 이런 처리를 위해, 몇 가지 옵션이 있는데요. -A, -B, -C 옵션에 대해 알아보겠습니다. 먼저 실험에 사용할 파일 1.txt에는 위와 같은 내용이 저장되어 있습니다. a부터 g까지 순서대로 적혀 있고..
안녕하세요. 코딩개입니다. 문자열을 다룰 일은 생각보다 많은데요. 리눅스에서 tr 명령어도 꽤 유용하게 쓰입니다. 간단하게 예제를 보면서 알아보도록 할게요. tr은 translate 혹은 delete character라고 합니다. 문자들을 지우거나, 다른 것으로 바꾸는 것인가 봅니다. 사실 저는 translate를 번역하다라는 뜻만 있는 줄 알았는데, 그게 아닌가 봅니다? 몇 가지 옵션들이 있는데요. -c는 complement를 의미합니다. 보수 할 때 많이 들어보셨을 텐데요. 반전을 의미합니다. 예를 들어 세트 1이 digit라고 해 봅시다. digit의 반전은 무엇인가요? digit이 아닌 것들이 됩니다. 예를 들자면 'a', 'b', ' ' 등이 이 집합에 속합니다. 다음에 -s는 여러 번 연속해서..
안녕하세요. 모의 코딩테스트 출제하고 있느라 블로그를 오랫동안 비웠습니다. 출제를 하다 보면, 데이터 인풋에 대해서 결과를 파일로 떨어트려야 하는 경우가 매우 빈번한데요. 저는 여태까지 그냥 코드 내에서 파일을 열고 닫는 식으로 코드를 작성했어요. 그런데 이게 솔루션 파일이 1 ~ 2개면 모르겠는데 여러 개였습니다. 검증용 코드까지 합하면 상당히 많았는데요. 얘네들을 하나 하나 코드를 열어서 파일을 열고 파일로부터 입력 받는 로직으로 수정하고. 그럴 수는 없었어요. 그래서 리다이렉션으로 처리하게 되었고요. 그런데 윈도우의 powershell에서는 쉽지 않더라고요. 제가 당장 급하게 썼던 방법하고, 나중에 스택 오버플로우 등에서 천천히 찾아보았던 방법을 소개해 드리겠습니다. 먼저 제 코딩테스트 2회에 출제..
최근댓글