Go로 지령선 도구를 만들 때의 Unix wildcard 이야기
4372 단어 Go
개시하다
※ Go(Un) Conference(Go 팥) LT 대회 2kg LT를 쓰고 싶은데, 급한 일이 있어서 자료만 공개합니다.(첫 Qiita 슬라이드)
Who
텍스트 구분 도구
https://github.com/sssinsi/gohs
독법: 오 수
→ https://www.google.co.jp/search?&q=오수
왜 그랬어
Go 도구의 시작에서 간단히 할 수 있는 지령선 도구로 배워봤다.
(어쨌든 손으로 뭔가 해보고 싶은 느낌)
이렇게 나눠요. $cat a.file
1
2
3
4
5
$gohs -p a.file -c 3 -s=************
1
2
3
************
4
5
flag
명령줄 도구를 만들 때 자주 사용합니다flag
.
간단하다
https://github.com/golang/go/blob/master/src/flag/flag.go
flag 사용 방법
옵션은 -flag=x
또는 -flag x
로 지정할 수 있습니다.$gohs -p sample.txt -c 3 -s=************
1
2
3
************
4
5
물론 이렇게 사용하셔도 됩니다. $gohs -p sample.txt -c 3 -s ************
1
2
3
README.md
4
5
!?!?
갑작스런 README.md
까닭 cmd -x *
where * is a Unix shell wildcard, ....
wildcard?
와일드카드 $ls
README.md main.go sample.txt
$ls *
README.md main.go sample.txt
$ls s*
sample.txt
그래.
확인 flag.parseOne()
의 소스 코드를 읽어도 어디서 파일 이름이 되었는지 몰라fmt.Println(os.Args)
의 시작 훈련main.go
에서 명령을 수행하려고 한다.$go run main.go -p sample.txt -c 3 -s *
[/var/folders/mp/cmn3_f0s5fgd6wns0ng1tfrh0000gq
/T/go-build082551061/command-line-arguments
/_obj/exe/main -p sample.txt -c 3
-s README.md main.go sample.txt]
...
즉 flag.Parse()
를 진행하기 전에 현재 디렉터리의 파일 일람을 선택할 수 있기 때문에 첫 번째 README.md
파일 이름을 문자열로 처리합니다.-s README.md main.go sample.txt
그렇구나.
대책 *
를 문자열로 사용할 경우 =
또는 "
로 포위할 수 있습니다.$gohs -p sample.txt -c 3 -s=************
$gohs -p sample.txt -c 3 -s "************"
과거를 쫓아가다
2017년 12월 12일 와일드카드 리뷰가 추가됐는데 의외로 최근이다.
감사합니다.
Reference
이 문제에 관하여(Go로 지령선 도구를 만들 때의 Unix wildcard 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sssinsi/items/2bde07f3563460755fe9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Go 도구의 시작에서 간단히 할 수 있는 지령선 도구로 배워봤다.
(어쨌든 손으로 뭔가 해보고 싶은 느낌)
이렇게 나눠요. $cat a.file
1
2
3
4
5
$gohs -p a.file -c 3 -s=************
1
2
3
************
4
5
flag
명령줄 도구를 만들 때 자주 사용합니다flag
.
간단하다
https://github.com/golang/go/blob/master/src/flag/flag.go
flag 사용 방법
옵션은 -flag=x
또는 -flag x
로 지정할 수 있습니다.$gohs -p sample.txt -c 3 -s=************
1
2
3
************
4
5
물론 이렇게 사용하셔도 됩니다. $gohs -p sample.txt -c 3 -s ************
1
2
3
README.md
4
5
!?!?
갑작스런 README.md
까닭 cmd -x *
where * is a Unix shell wildcard, ....
wildcard?
와일드카드 $ls
README.md main.go sample.txt
$ls *
README.md main.go sample.txt
$ls s*
sample.txt
그래.
확인 flag.parseOne()
의 소스 코드를 읽어도 어디서 파일 이름이 되었는지 몰라fmt.Println(os.Args)
의 시작 훈련main.go
에서 명령을 수행하려고 한다.$go run main.go -p sample.txt -c 3 -s *
[/var/folders/mp/cmn3_f0s5fgd6wns0ng1tfrh0000gq
/T/go-build082551061/command-line-arguments
/_obj/exe/main -p sample.txt -c 3
-s README.md main.go sample.txt]
...
즉 flag.Parse()
를 진행하기 전에 현재 디렉터리의 파일 일람을 선택할 수 있기 때문에 첫 번째 README.md
파일 이름을 문자열로 처리합니다.-s README.md main.go sample.txt
그렇구나.
대책 *
를 문자열로 사용할 경우 =
또는 "
로 포위할 수 있습니다.$gohs -p sample.txt -c 3 -s=************
$gohs -p sample.txt -c 3 -s "************"
과거를 쫓아가다
2017년 12월 12일 와일드카드 리뷰가 추가됐는데 의외로 최근이다.
감사합니다.
Reference
이 문제에 관하여(Go로 지령선 도구를 만들 때의 Unix wildcard 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sssinsi/items/2bde07f3563460755fe9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$cat a.file
1
2
3
4
5
$gohs -p a.file -c 3 -s=************
1
2
3
************
4
5
명령줄 도구를 만들 때 자주 사용합니다
flag
.간단하다
https://github.com/golang/go/blob/master/src/flag/flag.go
flag 사용 방법
옵션은 -flag=x
또는 -flag x
로 지정할 수 있습니다.$gohs -p sample.txt -c 3 -s=************
1
2
3
************
4
5
물론 이렇게 사용하셔도 됩니다. $gohs -p sample.txt -c 3 -s ************
1
2
3
README.md
4
5
!?!?
갑작스런 README.md
까닭 cmd -x *
where * is a Unix shell wildcard, ....
wildcard?
와일드카드 $ls
README.md main.go sample.txt
$ls *
README.md main.go sample.txt
$ls s*
sample.txt
그래.
확인 flag.parseOne()
의 소스 코드를 읽어도 어디서 파일 이름이 되었는지 몰라fmt.Println(os.Args)
의 시작 훈련main.go
에서 명령을 수행하려고 한다.$go run main.go -p sample.txt -c 3 -s *
[/var/folders/mp/cmn3_f0s5fgd6wns0ng1tfrh0000gq
/T/go-build082551061/command-line-arguments
/_obj/exe/main -p sample.txt -c 3
-s README.md main.go sample.txt]
...
즉 flag.Parse()
를 진행하기 전에 현재 디렉터리의 파일 일람을 선택할 수 있기 때문에 첫 번째 README.md
파일 이름을 문자열로 처리합니다.-s README.md main.go sample.txt
그렇구나.
대책 *
를 문자열로 사용할 경우 =
또는 "
로 포위할 수 있습니다.$gohs -p sample.txt -c 3 -s=************
$gohs -p sample.txt -c 3 -s "************"
과거를 쫓아가다
2017년 12월 12일 와일드카드 리뷰가 추가됐는데 의외로 최근이다.
감사합니다.
Reference
이 문제에 관하여(Go로 지령선 도구를 만들 때의 Unix wildcard 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sssinsi/items/2bde07f3563460755fe9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$gohs -p sample.txt -c 3 -s=************
1
2
3
************
4
5
$gohs -p sample.txt -c 3 -s ************
1
2
3
README.md
4
5
갑작스런 README.md
까닭 cmd -x *
where * is a Unix shell wildcard, ....
wildcard?
와일드카드 $ls
README.md main.go sample.txt
$ls *
README.md main.go sample.txt
$ls s*
sample.txt
그래.
확인 flag.parseOne()
의 소스 코드를 읽어도 어디서 파일 이름이 되었는지 몰라fmt.Println(os.Args)
의 시작 훈련main.go
에서 명령을 수행하려고 한다.$go run main.go -p sample.txt -c 3 -s *
[/var/folders/mp/cmn3_f0s5fgd6wns0ng1tfrh0000gq
/T/go-build082551061/command-line-arguments
/_obj/exe/main -p sample.txt -c 3
-s README.md main.go sample.txt]
...
즉 flag.Parse()
를 진행하기 전에 현재 디렉터리의 파일 일람을 선택할 수 있기 때문에 첫 번째 README.md
파일 이름을 문자열로 처리합니다.-s README.md main.go sample.txt
그렇구나.
대책 *
를 문자열로 사용할 경우 =
또는 "
로 포위할 수 있습니다.$gohs -p sample.txt -c 3 -s=************
$gohs -p sample.txt -c 3 -s "************"
과거를 쫓아가다
2017년 12월 12일 와일드카드 리뷰가 추가됐는데 의외로 최근이다.
감사합니다.
cmd -x *
where * is a Unix shell wildcard, ....
wildcard?
와일드카드 $ls
README.md main.go sample.txt
$ls *
README.md main.go sample.txt
$ls s*
sample.txt
그래.
확인 flag.parseOne()
의 소스 코드를 읽어도 어디서 파일 이름이 되었는지 몰라fmt.Println(os.Args)
의 시작 훈련main.go
에서 명령을 수행하려고 한다.$go run main.go -p sample.txt -c 3 -s *
[/var/folders/mp/cmn3_f0s5fgd6wns0ng1tfrh0000gq
/T/go-build082551061/command-line-arguments
/_obj/exe/main -p sample.txt -c 3
-s README.md main.go sample.txt]
...
즉 flag.Parse()
를 진행하기 전에 현재 디렉터리의 파일 일람을 선택할 수 있기 때문에 첫 번째 README.md
파일 이름을 문자열로 처리합니다.-s README.md main.go sample.txt
그렇구나.
대책 *
를 문자열로 사용할 경우 =
또는 "
로 포위할 수 있습니다.$gohs -p sample.txt -c 3 -s=************
$gohs -p sample.txt -c 3 -s "************"
과거를 쫓아가다
2017년 12월 12일 와일드카드 리뷰가 추가됐는데 의외로 최근이다.
감사합니다.
$ls
README.md main.go sample.txt
$ls *
README.md main.go sample.txt
$ls s*
sample.txt
그래.확인 flag.parseOne()
의 소스 코드를 읽어도 어디서 파일 이름이 되었는지 몰라fmt.Println(os.Args)
의 시작 훈련main.go
에서 명령을 수행하려고 한다.$go run main.go -p sample.txt -c 3 -s *
[/var/folders/mp/cmn3_f0s5fgd6wns0ng1tfrh0000gq
/T/go-build082551061/command-line-arguments
/_obj/exe/main -p sample.txt -c 3
-s README.md main.go sample.txt]
...
즉 flag.Parse()
를 진행하기 전에 현재 디렉터리의 파일 일람을 선택할 수 있기 때문에 첫 번째 README.md
파일 이름을 문자열로 처리합니다.-s README.md main.go sample.txt
그렇구나.
대책 *
를 문자열로 사용할 경우 =
또는 "
로 포위할 수 있습니다.$gohs -p sample.txt -c 3 -s=************
$gohs -p sample.txt -c 3 -s "************"
과거를 쫓아가다
2017년 12월 12일 와일드카드 리뷰가 추가됐는데 의외로 최근이다.
감사합니다.
$go run main.go -p sample.txt -c 3 -s *
[/var/folders/mp/cmn3_f0s5fgd6wns0ng1tfrh0000gq
/T/go-build082551061/command-line-arguments
/_obj/exe/main -p sample.txt -c 3
-s README.md main.go sample.txt]
...
flag.Parse()
를 진행하기 전에 현재 디렉터리의 파일 일람을 선택할 수 있기 때문에 첫 번째 README.md
파일 이름을 문자열로 처리합니다.-s README.md main.go sample.txt
그렇구나.대책 *
를 문자열로 사용할 경우 =
또는 "
로 포위할 수 있습니다.$gohs -p sample.txt -c 3 -s=************
$gohs -p sample.txt -c 3 -s "************"
과거를 쫓아가다
2017년 12월 12일 와일드카드 리뷰가 추가됐는데 의외로 최근이다.
감사합니다.
$gohs -p sample.txt -c 3 -s=************
$gohs -p sample.txt -c 3 -s "************"
2017년 12월 12일 와일드카드 리뷰가 추가됐는데 의외로 최근이다.
감사합니다.
Reference
이 문제에 관하여(Go로 지령선 도구를 만들 때의 Unix wildcard 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sssinsi/items/2bde07f3563460755fe9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)