한 줄에 하나씩 파일에서 명령 인수를 얻는 방법은 무엇입니까? [복사]

한 줄에 하나씩 파일에서 명령 인수를 얻는 방법은 무엇입니까? [복사]

다음과 같은 파일 이름을 가진 파일이 있다고 가정해 보겠습니다.

requests.log
responses.log
resources used.log

이 파일을 모두 보고 싶습니다. 나는하고 싶습니다 :

$ vi `cat /tmp/list`

그러나 이로 인해 "requests.log", "responses.log", "resources" 및 "used.log" 파일이 열리게 되는데 이는 내가 원하는 것이 아닙니다.

나는 노력했다

$ cat /tmp/list | xargs -L 99 vi

하지만 이로 인해 "경고: 터미널에서 입력되지 않았습니다"라는 오류 메시지가 나타납니다.

파일을 편집하고 각 줄을 인용해 보았지만 그것도 도움이 되지 않았습니다.

일종의 프런트엔드 스크립트를 작성하지 않고 이를 수행할 수 있는 방법이 있습니까?

답변1

이것이 제가 쓴 글입니다. 작동하지만 프런트 엔드를 작성하지 않고 수행하고 싶기 때문에 약간 대답이 없습니다.

#!/usr/bin/env python3

usage = """
Read arguments from a file, one per line, then execute the given
command.

usage:      lineargs <filename> <cmd> [args]
"""

import os
import sys

argfilename = sys.argv[1]        # Get arguments from this file, one per line
cmd = sys.argv[2:]               # The command and additional arguments

args = open(argfilename, "r").read().splitlines()

cmd.extend(args)
os.execvp(cmd[0], cmd)

오류 검사 등을 신경 쓰지 않았습니다. 이것은 일회성 스크립트일 뿐입니다.

관련 정보