PGR21.com
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다.
통합 규정을 준수해 주십시오. (2015.12.25.)
Date 2016/03/22 11:46:38
Name 드림
Subject [질문] [프로그레밍] 리눅스 명령어/사이트 질문
저번에 PDF에 관련해서 질문 드렸었는데요. (https://pgr21.com/?b=26&n=79662)

결국 LaTeX를 사용하여 PDF를 만들기로 결정이 났습니다.

교수님께서 도와주셔서 라텍스 부분은 쉽게(?) 끝이 났는데요. 라텍스를 사용하여 PDF를 만드는 부분까진 완성 됐습니다.

다만 여기서부터 문제인데요. 라텍스를 실행시키고 PDF를 만드는것이 모두 라즈베리파이에서 이뤄져야 합니다.
그래서 리눅스 명령어를 사용할 수 밖에 없는 상황까지 와버렸습니다...

리눅스 명령어가 뭔지도 모르고 시작했다가.. 지금 아주 조금 감은 잡았는데 아직도 잘 모르겠습니다.

혹시 리눅스 명령어에 대해서 질문할 수 있는 사이트가 있을지 궁금해서 이렇게 질문 드려봅니다.
여기에 질문하고 짧은 질문을 도배식으로 올리는게 실례가 될것 같아서 다른 프로그레밍 전문 사이트를 찾고 있습니다..


+++ 이 밑은 리눅스 명령어에 대한 질문입니다.

해야하는 프로젝트를 대충 설명드리면..
1. 라즈베리파이를 이용하여 모터를 컨트롤 한 뒤에 모터의 위치를 .txt 파일로 생성합니다.
2. .txt파일에 있는 10개정도의 번호를 읽어서 미리 만들어둔 .tex파일에 번호들을 바꿔야 합니다.
3. 끝으로는 pdflatext 를 이용하여 pdf를 만들면 됩니다.

제가 지금 까지 생각해둔 방법은..
1. 기존에 만들어둔 .tex 파일을 하나 복사합니다. (복사하는 이유는 sed를 이용하여 텍스트를 바꾸게 되면 다시 실행하였을때 오류가 날것 같아서 입니다.)
cp default.tex for_pdf.tex

2. grep 을 이용하여 motor.txt 파일에 있는 모터 위치를 읽습니다. 그리고 sed를 사용하여 for_pdf.tex 파일에 붙여 넣습니다. (aaaa는 모터1의 포지션 이라고 하겠습니다)
grep -i 'aaaa' motor.txt | sed sed -i 's/aaaa/??????????/g' for_pdf.tex
저 물음표 부분에 grep에서 읽은 숫자가 들어야하 하는데 어떻게 해야할지 모르겠네요..

3. 이 뒤에는 바로 PDF를 만들면 될것 같습니다.
pdflatext for_pdf.tex

4. 그리고 다음에 다시 실행할때 오류가 날지도 모르니 전에 만들어 뒀던 파일은 지울 생각입니다.
rm for_pdf.tex

----------------------


여기까지가 계획인데 2번에서 막혀버렸습니다. 쉬워보이기도 하는데.. 리눅스 명령어는 태어나서 처음 만져봐서 많은 문제가 있네요..

피지알에 프로그레머분들 도움 부탁드립니다! 혹시 직접적 도움 주시기 어렵다면 도움이 될만한 사이트나 명령어 부탁드립니다.

짧지 않은 글 읽어주셔서 감사드립니다.




+++추가질문+++
이 명령어를 모두 완성 한 뒤에 라즈베리파이에서 작동할 수 있는 파일을 만들어야 하는데 (exe파일 같은...), 어떻게 검색을 해야하는지도 모르겠네요..

어떻게 해야할지 팁이나 참고할만한 사이트라도 부탁드립니다..

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
Andromath
16/03/22 12:05
수정 아이콘
2.

set motor_loc = `grep -i 'aaaa' motor.txt`
/*
-i를 쓰신것은 case-insensitive하게 하시려고 그러신 것 같고, 그럼 'aaaa'가 포함된 전체 라인을 받아와서 그 중 일부만 쓰시려는 것인가요?
만약에 단어간에 스페이스가 있다면 awk을 쓰시면 편해요, 예를 들어 파일 안에

aaaa 1000

이런 식의 라인이 있고 1000을 받아가고 싶으신 것이라면
set motor_loc = `grep -i 'aaaa' motor.txt | awk '{print $2}'`
이런 식으로 하시면 됩니다.
라인 전체가 필요하신 것이라면 이 부분은 필요 없고요...
*/

그 다음에
sed -i 's/aaaa/${motor_loc}/' for_pdf.tex> for_pdf.tex.tmp
rm for_pdf.tex
mv for_pdf.tex.tmp for_pdf.tex

쉘 타입을 몰라서 최대한 통할 수 있는 명령어들로만 해봤어요.
16/03/22 12:59
수정 아이콘
오.. 답변 감사합니다.
먼저.. -i는 사실 샘플 라인 받아 쓴거라 뜻도 모르고 가져가다 썻습니다..
그리고 파일안에
aaaa = 1000
이런식으로 숫자를 지정하려고 했는데, 써주신 방법으로 하면 될것 같네요.

지금 일단 할 수 없는 상황이라.. 시도 해보고 다시 댓글 달도록 하겠습니다.
자세한 답변 감사합니다!
16/03/22 13:58
수정 아이콘
써주신대로 작성하여서 돌려보니 PDF를 만들때 문제가 생겼습니다..ㅜㅜ

제가 쓴 명령어들 인데요.

cd c:/latex
cp default.tex for_pdf.tex
set motor_loc = `grep -i 'aaaa' motor.txt | awk '{print $2}'`
sed -i 's/aaaa/${motor_loc}/' for_pdf.tex> for_pdf.tex.tmp
pdflatex for_pdf.tex

이렇게 하니 pdf가 만들어지지 않습니다. 그래서 tex파일을 보니
${motor_loc}
을 인식을 못하는것 같습니다..
명령어를 좀 써봤어야 디버깅도 할텐데 어떻게 고쳐야 하는지도 잘 모르겠네요..

혹시 시간나시면 봐주시면 감사하겠습니다...
Andromath
16/03/22 14:48
수정 아이콘
쉘 문제일 수도 있겠다 싶습니다.

이 셋 중 하나를 써보시고 안 되시면 sed에서 $motor_loc 부분을 아무 다른 string으로 바꾸시고 해보세요. 그래도 안 되면 잘 모르겠습니다.

sed -i "s/aaaa/$motor_loc/" for_pdf.tex> for_pdf.tex.tmp
pdflatex for_pdf.tex
sed -i 's/aaaa/$motor_loc/' for_pdf.tex> for_pdf.tex.tmp
pdflatex for_pdf.tex
eval "sed -i s/aaaa/$motor_loc/ for_pdf.tex> for_pdf.tex.tmp
pdflatex for_pdf.tex"
16/03/22 14:50
수정 아이콘
아이고.. 이렇게까지 신경 써주시니 정말 감사합니다!
복 받으실 꺼에요!
Andromath
16/03/22 15:03
수정 아이콘
사실 리눅스나 유닉스에서는 쉘 마다 명령어랑 문법이 약간씩 달라서... 저는 내공이 부족해서 한두가지 쉘밖에 잘 모릅니다. 시간이 넉넉하시면 stackoverflow같은 사이트에도 검색해보시거나 아님 질문 올리시면 사람들이 까칠해도 답변 잘 해줄거에요..
16/03/22 15:03
수정 아이콘
추천해주신 사이트 참고하겠습니다.
여러모로 다시 감사드리고 행복한 하루 되세요~
자바초코칩
16/03/22 13:26
수정 아이콘
흠흠. 라텍스라고는 잘 안하고.. 보통 레이텍이라고 읽습니다.
추가질문에 대한 답을 하자면, 리눅스에서는 실행권한이 있으면 다 실행시킬 수 있습니다.
아마 쉘 명령어로 프로그래밍을 하실 것 같은데, 이 경우 쉘 스크립트로 검색해보시면 될 것 같네요.
16/03/22 13:55
수정 아이콘
사실 지금 윈도우에서 cygwin을 이용하여 명령어를 입력하고 있습니다. 나중에 라즈베리파이 Linux에서 돌아가길 바라면서요..
쉘 스크립트를 찾아서 보니 배울것이 하나 더 생겼네요..
답변 감사합니다!
프로듀사
16/03/23 01:25
수정 아이콘
grep -i 'aaaa' motor.txt
결과랑 tex 파일에 aaaa 있는 줄을 보여주시면 더 좋은 답변이 달릴 것 같아요.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
80145 [질문] 아이락스 기계식 키보드 괜찮은가요? [7] AminG1663 16/03/22 1663
80144 [질문] 태양의후예 고증 어떻게 생각하시나요? [43] 오즈s4260 16/03/22 4260
80143 [질문] 외국계나 상시채용같은 경우는 졸업예정을 받나요? [2] Kainn1614 16/03/22 1614
80142 [질문] [LOL] 우디르 공략글을 찾습니다. [15] 민머리요정1706 16/03/22 1706
80141 [질문] 철제-는 영어로 주로 어떻게 쓰나요?? [5] 불통왕5001 16/03/22 5001
80140 [질문] 하이엔드나 미러리스와 폰카메라의 차이좀 알려주세요 [21] RealGN2672 16/03/22 2672
80139 [질문] 엑셀 질문 입니다 급해요!! [2] 비둘기야 먹자1079 16/03/22 1079
80138 [질문] [히어로즈] 밤에 PTR 서버에서 ARAM 같이 하실 분 계신가요? [2] Sgt. Hammer1005 16/03/22 1005
80137 [질문] 부장님 유머 구사하는 상사 어떠세요? [15] 마르키아르2847 16/03/22 2847
80136 [질문] 자주 휴직을 해야 하는 사람이 교사가 될 수 있나요? [5] 삭제됨2353 16/03/22 2353
80135 [질문] 자전거를 거래하려고 하는데 삼자사기일까요? [9] 총사령관1882 16/03/22 1882
80134 [질문] [프로그레밍] 리눅스 명령어/사이트 질문 [10] 드림1808 16/03/22 1808
80133 [질문] 주민등록등본에 동거인이 안뜨나요? [2] 글자밥청춘9189 16/03/22 9189
80132 [질문] 계속 술취한것처럼 어지러운데 병원 가봐야 할까요? [13] 꼭두서니색4800 16/03/22 4800
80131 [질문] 전화영어나 영어영상통화 추천 부탁드립니다. [2] Carrusel1661 16/03/22 1661
80130 [질문] 라텍스 매트릭스 구매 관련 질문드려요~ [1] JIRO1471 16/03/22 1471
80129 [질문] 횡단보도 우회전 질문입니다 [28] wish buRn2621 16/03/22 2621
80128 [질문] m포인트 사용처 관련하여 조언부탁드립니다! [10] EnzZ2434 16/03/22 2434
80127 [질문] 어머니 핸드폰 바꿔드리려고 합니다. [4] BLitz.1297 16/03/22 1297
80126 [질문] [하스스톤] 컨사제와 위니흑마 몇가지질문 [6] 파란무테1695 16/03/22 1695
80125 [질문] 시뮬/어드벤처 류 모바일 게임 찾고 있습니다. 트루키2600 16/03/22 2600
80123 [질문] [신발] 로퍼 입문 하려고 합니다 추천부탁드려요 [2] 순수한사랑2307 16/03/22 2307
80122 [질문] 핸드폰간 착신전환 문의 까우까우으르렁1540 16/03/22 1540
목록 이전 다음
댓글

+ : 최근 1시간내에 달린 댓글
+ : 최근 2시간내에 달린 댓글
맨 위로