때로는 쉘 스크립트에있는 단일 명령을 실행해야합니다.
이미 sed -n 'line_num p'
그 줄을 인쇄 할 수 있다는 것을 알고 있습니다. 그러나 특정 줄을 명령으로 인쇄 한 exec를 어떻게 실행할 수 있습니까?
답변
이 사람을보십시오 =) :
sed -n 'line_num p' | bash
또는
"$(sed -n 'line_num p')"
답변
이것을 대화식으로하는 경우 bash 기록에 줄을 쓸 수 있습니다.
history -s "$(sed -n 'line_num p')"
그런 다음을 눌러 ↑Enter행을 판독 선 버퍼에 삽입하고 실행하십시오. 너무 늦기 전에 줄을 볼 수있는 기회를 제공합니다.
답변
넌 할 수있어…
{ head -n"$((NUM-1))"; IFS= read -r line; } </path/to/script >/dev/null
eval "$line"
그것은 $NUM
쉘 변수의 스크립트에서 줄을 가져온 $line
다음 현재 쉘의 명령으로 평가합니다.
이를 수행하는 다른 방법은 다음과 같습니다.
</path/to/script sed "${NUM}q;d" >/tmp/"$$"
. /tmp/"$$" ; rm /tmp/"$$"
답변
vim (Linux의 경우 vi)을 사용하여 스크립트를 편집하고 있습니까? vi에서 맵핑을 추가하십시오.
:nmap <F4> Y:!<C-R>"<C-H><CR>
그리고 vi에서 F4 키를 누르면 재미있는 줄에 있습니다.
답변
bash에서 다음 명령을 실행할 수 있습니다.
for line in $(cat file.txt); do command $line; done