假设我有一个文件名如下的文件:
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)
我没有费心进行错误检查等。这只是一个一次性脚本。