a001.dat a002.dat a003.dat ... a200.dat 와 같은 데이터 파일들이 있습니다. testexe라는 프로그램을 이용하여 위의 데이터 파일들을 처리해야 하는데, 데이터 파일들이 200개가 넘어서 쉘 프로그램으로 처리하려고 합니다.
문제는 데이터 파일명(확장자 없이)의 리스트를 얻는 방법인데 쉘 함수들 중에서 적절한 함수를 찾지 못하겠습니다.
어떻게 해결할 수 있는 방법이 없을까요?
꼭 shell 내부 함수나 문법만 사용하려고 해선 문제를 해결하기가 쉽지 않습니다. sed, awk 등의 UNIX의 기본 유틸리티를 적극 활용하세요.
#!/bin/sh for i in $(ls | sed 's/\..*//g') do echo item: $i done
-----http://monpetit.posterous.com/http://monpetit.tistory.com/
suffix를 알고 계신 경우이니까.
for i in $(ls *.suffix); do basename $i .suffix; done
sed 's/\.[^.]*$//g'
오늘 우리는 동지를 땅에 묻었습니다. 그러나 땅은 이제 우리들의 것입니다. 아직도 우리의 적은 강합니다. 그러나 우리는 그들보다 많습니다. 항상 많을 것입니다.
여러가지가 나오네요..
저도 동참을..
for i in *.dat; do j=${i%%\.dat} echo $j done
고작 블로킹 하나, 고작 25점 중에 1점, 고작 부활동 "만약 그 순간이 온다면 그때가 네가 배구에 빠지는 순간이야"
제 생각이지만 속도는 이게 빠르지 않을까요?
ls | cut -f1 -d"." | while read name do echo "Item: ${name}" done
입력되는 파일명을 볼때 .dat 같은 고정된 확장자명 같네요.
제 생각에는 ${변수%삭제확장자}를 쓰는 두 단 위의 해법에
한표!
ps: only for B*sh계열인가요?
------------------------------- == warning 대부분 틀린 얘기입니다 warning ===
많은 분들이 답변들을 주셨네요. 덕분에 문제를 해결할 수 있었습니다.
친절히 답을 해주신 모든 분들께 감사드립니다. 꾸벅
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
꼭 shell 내부 함수나 문법만 사용하려고 해선 문제를 해결하기가 쉽지
꼭 shell 내부 함수나 문법만 사용하려고 해선 문제를 해결하기가 쉽지 않습니다. sed, awk 등의 UNIX의 기본 유틸리티를 적극 활용하세요.
-----
http://monpetit.posterous.com/
http://monpetit.tistory.com/
suffix를 알고 계신 경우이니까.[code:1]for i
suffix를 알고 계신 경우이니까.
하시는게 좀 더 쉬울 것 같군요
그리고 sed를 쓰실 경우라면
를 쓰시는게 basename에 .를 포함하고 있는 경우를 고려할 때 좀 더 안전할 것 같습니다.
오늘 우리는 동지를 땅에 묻었습니다. 그러나 땅은 이제 우리들의 것입니다.
아직도 우리의 적은 강합니다. 그러나 우리는 그들보다 많습니다.
항상 많을 것입니다.
여러가지가 나오는군요..
여러가지가 나오네요..
저도 동참을..
고작 블로킹 하나, 고작 25점 중에 1점, 고작 부활동
"만약 그 순간이 온다면 그때가 네가 배구에 빠지는 순간이야"
속도는 이것이 빠를듯...
제 생각이지만 속도는 이게 빠르지 않을까요?
흠..
입력되는 파일명을 볼때 .dat 같은 고정된 확장자명 같네요.
제 생각에는 ${변수%삭제확장자}를 쓰는 두 단 위의 해법에
한표!
ps: only for B*sh계열인가요?
-------------------------------
== warning 대부분 틀린 얘기입니다 warning ===
감사합니다 *^^*
많은 분들이 답변들을 주셨네요.
덕분에 문제를 해결할 수 있었습니다.
친절히 답을 해주신 모든 분들께 감사드립니다. 꾸벅
댓글 달기