좋아요, 제가 하고 싶은 일은 다음과 같습니다. 다음과 같은 파일이 많이 있습니다.
newnslog.0.tar.gz
newnslog.1.tar.gz
newnslog.2.tar.gz
newnslog.3.tar.gz
newnslog.4.tar.gz
.
.
.
각 파일을 추출한 후 해당 디렉터리의 모든 파일을 반복하고 파일의 데이터에 대해 exe를 실행하고 싶습니다.
#extract:
tar -xzf newnslog.58.tar.gz
#cd:
cd newnslog.59 < yes the filename in the archive may be 1 more or less or the same as it is a continuation
#ls:
newnslog.ppe.0 newnslog.ppe.1 newnslog.ppe.2
#execute nsc2e with parameters against each file:
# ../nsc2e -c /netscaler/nsconmsg -K newnslog.ppe.0 -f ../nsc2e.conf
for - do 루프를 시도하고 있는데 뭔가 잘못하고 있는 것 같습니다.
root@VPX-13# for f in *; do '../nsc2e -c /netscaler/nsconmsg -K "$f" -f ../ns2ce.conf'; done
-bash: ../nsc2e -c /netscaler/nsconmsg -K "$f" -f ../ns2ce.conf: No such file or directory
-bash: ../nsc2e -c /netscaler/nsconmsg -K "$f" -f ../ns2ce.conf: No such file or directory
-bash: ../nsc2e -c /netscaler/nsconmsg -K "$f" -f ../ns2ce.conf: No such file or directory
또한 추출을 포함한 모든 작업을 수행하는 간단한 방법이 있어야 한다는 것도 알고 있습니다. 예를 들면 다음과 같습니다.
find newnslog* -prune -type d | while IFS= read -r d; do
cd "$d"
for f in *; do '../nsc2e -c /netscaler/nsconmsg -K "$f" -f ../ns2ce.conf'; done
done
답변1
다음과 같이 명령 주위의 따옴표를 제거하십시오.이르카초다음 의견:
for f in *; do ../nsc2e -c /netscaler/nsconmsg -K "$f" -f ../ns2ce.conf; done
...이 문제를 해결했습니다.