cat matrix.in | sed 's/$/ n n n n n n n n n n/g' | cut -d' ' -f-6 에서 말씀하신대로 n의 개수를 임의로 변경할 때, rep=$(yes " n" | head -n 6 | tr -d '\n') 는 어떻게 결합해야 하는지요.
$ maxcol=20
$ rep=$(yes" n"|head-n$maxcol|tr-d'\n')
$ cat matrix.in |sed"s/$/$rep/g"|cut-d' ' -f-$maxcol21545 n n n n n n n n n n n n n n n
4894 n n n n n n n n n n n n n n n n
151 n n n n n n n n n n n n n n n n n
142558 n n n n n n n n n n n n n n
글고 보니.. array 쓰면 두 번째 올렸던 스크립트도 좀 더 간단히 줄일 수 있겠네요.
$ maxcol=6
$ whileread-a arr; doecho-n${arr[@]}; for((i=${#arr[@]}; i<$maxcol; i++)); doecho-n" n"; done; echo""; done< matrix.in
21545 n
4894 n n
151 n n n
142558
$ maxcol=20
$ whileread-a arr; doecho-n${arr[@]}; for((i=${#arr[@]}; i<$maxcol; i++)); doecho-n" n"; done; echo""; done< matrix.in
21545 n n n n n n n n n n n n n n n
4894 n n n n n n n n n n n n n n n n
151 n n n n n n n n n n n n n n n n n
142558 n n n n n n n n n n n n n n
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
음 ..
한 줄 씩 읽어서 빈 컬럼에 채워넣어야 할 것 같긴 한데..
그냥 간단히 결과만 나오게 해보자면..;;
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
감사합니다. 그런데..
제가 하려는 작업의 행렬 사이즈가 "수백x수천"이라서요, 효율적인 방법이 없을까요?
포트란을 사용하기 전에 왠만하면 command line에서 해결하고 싶은 생각에서요.
음 ..
어떤 면에서 '효율'적이어야 하는지요..?
어차피 컬럼 개수 세어서 모자란 개수 만큼 뿌려줘야 하는건 크게 달라지지 않을텐데요.
먼저 올린 방식에서도, 채워야 할 문자열은 간단히 명령 한 줄로 만들 수 있습니다.
그 담에 그냥 처음 올렸던 방식대로 하시거나..
위처럼 몇 가지 조건문을 달아서 정교하게 처리하시거나.. 원하시는 대로..
아.. 그리고 아시겠지만 위 방식들은 행렬의 중간이 비어 있는 상황에서는 쓸 수 없습니다.
그것 먼저 확인했어야 했는데 그냥 깜빡했네요.
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
네,
상세한 설명 다시 한번 감사합니다. ^^
그런데 제가 기초지식이 부족해서 활용에 어려움이 있네요.
cat matrix.in | sed 's/$/ n n n n n n n n n n/g' | cut -d' ' -f-6 에서 말씀하신대로 n의 개수를 임의로 변경할 때, rep=$(yes " n" | head -n 6 | tr -d '\n') 는 어떻게 결합해야 하는지요.
반복되는 질문이라 민망하지만, 염치불구하고 다시 문의드립니다. 꾸벅.
음 ..
sed 에 변수 넣으면서 작은 따옴표 대신 큰 따옴표로 바꾼 것에 주의하세요.
참고로, 최대 컬럼 개수는 다음과 같이 array 에 넣어서 계산해도 됩니다.
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
음 ..
글고 보니.. array 쓰면 두 번째 올렸던 스크립트도 좀 더 간단히 줄일 수 있겠네요.
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
cat matrix.in | awk '{printf
$ cat append.sh
$ suffix="n n n n n n n n"
효율적으로 하려면
20개의 column 을 가진 suffix template 을 만드려면
주옥같은 도움 많이 주셔서 감사합니다 ^^
덕분에 문제는 해결되었습니다.
완전한 이해는 여전히 어렵지만 열심히 들여다보면서 익히는 중입니다....갈 길이 머네요 ㅎㅎ
댓글 달기