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 있는 줄을 보여주시면 더 좋은 답변이 달릴 것 같아요.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
80155 [질문] [LOL] 일라오이 탑에서 만나면 어떻게 대처하나요? [10] 리오넬 호날두10544 16/03/22 10544
80154 [질문] 엑셀,파워포인트 학습용 도서 추천 부탁드립니다. [4] purflower892164 16/03/22 2164
80153 [질문] 신축 옥탑방(원룸) 어떻게 생각하시나요? [16] 토요일에만나요12423 16/03/22 12423
80152 [질문] [LOL] 쉔 리메이크 후 어떤가요? [13] 리니시아2437 16/03/22 2437
80151 [질문] 패밀리레스토랑 서비스 관련해서 질문입니다. [7] 다크템플러1761 16/03/22 1761
80150 [질문] [LOL] 다인랭 하실분? + 킨드레드 질문 [7] lenakim2070 16/03/22 2070
80149 [질문] 파워포인트 질문합니다. [1] 윤진서1454 16/03/22 1454
80148 [질문] 인터넷 업체 질문입니다. [6] 피로링1363 16/03/22 1363
80147 [질문] [LOL] 원래 차단기능이 이렇게 허술한가요? [8] 아름답고큽니다2617 16/03/22 2617
80146 [질문] 대학교 선거 홍보에 쓰인 캐릭터 저작권 문제는 없나요? [2] 하윤1808 16/03/22 1808
80145 [질문] 아이락스 기계식 키보드 괜찮은가요? [7] AminG1784 16/03/22 1784
80144 [질문] 태양의후예 고증 어떻게 생각하시나요? [43] 오즈s4667 16/03/22 4667
80143 [질문] 외국계나 상시채용같은 경우는 졸업예정을 받나요? [2] Kainn1761 16/03/22 1761
80142 [질문] [LOL] 우디르 공략글을 찾습니다. [15] 민머리요정1780 16/03/22 1780
80141 [질문] 철제-는 영어로 주로 어떻게 쓰나요?? [5] 불통왕5414 16/03/22 5414
80140 [질문] 하이엔드나 미러리스와 폰카메라의 차이좀 알려주세요 [21] RealGN2848 16/03/22 2848
80139 [질문] 엑셀 질문 입니다 급해요!! [2] 비둘기야 먹자1171 16/03/22 1171
80138 [질문] [히어로즈] 밤에 PTR 서버에서 ARAM 같이 하실 분 계신가요? [2] Sgt. Hammer1099 16/03/22 1099
80137 [질문] 부장님 유머 구사하는 상사 어떠세요? [15] 마르키아르3053 16/03/22 3053
80136 [질문] 자주 휴직을 해야 하는 사람이 교사가 될 수 있나요? [5] 삭제됨2455 16/03/22 2455
80135 [질문] 자전거를 거래하려고 하는데 삼자사기일까요? [9] 총사령관2021 16/03/22 2021
80134 [질문] [프로그레밍] 리눅스 명령어/사이트 질문 [10] 드림2112 16/03/22 2112
80133 [질문] 주민등록등본에 동거인이 안뜨나요? [2] 글자밥청춘9561 16/03/22 9561
목록 이전 다음
댓글

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