반응형
대지의 입력 문자열에서 개행 문자를 제거하는 가장 쉬운 방법
다음 명령 (OS X 10.6)을 실행할 때 사용 사례를 설명하는 것이 상당히 간단하기를 바랍니다.
$ pwd | pbcopy
대지에는 끝에 개행 문자가 있습니다. 나는 그것을 제거하고 싶다.
pwd | tr -d '\n' | pbcopy
printf $(pwd) | pbcopy
또는
echo -n $(pwd) | pbcopy
디렉토리 이름에 공백 문자가있는 경우 실제로 따옴표로 묶어야합니다. 예를 들면 :
echo -n "$(pwd)" | pbcopy
noeol이 문제를 해결하기 위해 라는 유틸리티를 작성했습니다 . stdin을 stdout으로 파이프하지만 후행 줄 바꿈이 있으면 생략합니다. 예
pwd | noeol | pbcopy
... 나는 별명 copy에 noeol | pbcopy.
여기에서 확인하세요 : https://github.com/Sidnicious/noeol
저에게는 tr -d '\n'접근 방식에 문제가있었습니다 . OSX에서는 .NET을 통해 coreutils 패키지를 설치했습니다 brew install coreutils. 이것은 g일반적인 이름 앞에 접두사가 붙은 모든 "일반적인"GNU 유틸리티를 제공합니다 . 그래서 head것 ghead, 예를 들면.
이것을 사용하면 IMO가 더 안전하게 작동했습니다.
pwd | ghead -c -1 | pbcopy
를 사용 od하여 출력에 어떤 일이 발생하는지 확인할 수 있습니다 .
$ pwd | ghead -c -1 | /usr/bin/od -h
0000000 552f 6573 7372 732f 696d 676e 6c6f 6c65
0000020 696c
0000022
대
$ pwd | /usr/bin/od -h
0000000 552f 6573 7372 732f 696d 676e 6c6f 6c65
0000020 696c 000a
0000023
차이점?
00및 0a널로와 줄 바꿈에 대한 hexcodes 있습니다. 은 ghead -c -1단지에 나눠 그것을 떨어져 전에 출력에서 마지막 문자를 "chomps" | pbcopy.
$ man ascii | grep -E '\b00\b|\b0a\b'
00 nul 01 soh 02 stx 03 etx 04 eot 05 enq 06 ack 07 bel
08 bs 09 ht 0a nl 0b vt 0c np 0d cr 0e so 0f si
반응형
'Program Club' 카테고리의 다른 글
| HTTPS가없는 상태에서 Javascript를 사용하여 HTTP를 통해 안전하게 비밀번호를 보내는 방법은 무엇입니까? (0) | 2020.12.29 |
|---|---|
| .NET 응용 프로그램에서는 SQL 쿼리가 느리지 만 SQL Server Management Studio에서는 즉각적입니다. (0) | 2020.12.29 |
| C # 델리게이트가 필요한 이유 (0) | 2020.12.29 |
| Angular에서 컨트롤이 생성 된 후 FormControl에 Validator를 추가하는 방법은 무엇입니까? (0) | 2020.12.28 |
| Perl에서 문자열을 N 번 반복하려면 어떻게해야합니까? (0) | 2020.12.28 |