我希望通过输出语法突出显示一堆文件和页面。 问题是,如果从stdin读取,则不会显示文件名。
如何从stdin读取更少的内容并仍然显示文件名?
以下是我要做的事情:
for f in *.py; do pygmentize "$f" | less -mR done
答案 0 :(得分:1)
您可以使用临时目录并将文件放在那里,使less
将其视为"真实"文件。
例如(在提供mktemp
能够创建目录的系统上):
#!/bin/sh
mydir=$(mktemp -d)
trap "cd; rm -rf $mydir" EXIT INT QUIT
for f in *.py; do
pygmentize "$f" >$mydir/"$f"
(cd $mydir && less -mR "$f" )
done