我想在终端中一个接一个地显示几个文件,例如,当前文件夹中所有类型为.java
的文件。有谁知道如何通过一行shell来做到这一点?我想我们可能需要使用cat
和变量......
另外,如果可能的话,我想添加文件的名称......例如,终端中的最终布局将是
p1.java
...
contents of p1.java
...
p2.java
...
contents of p2.java
...
有谁知道怎么做?非常感谢你!
答案 0 :(得分:3)
可以这么简单:
$ cat *.java
如果要在每个列表前显示文件名,只需使用循环:
$ for fn in *.java; do echo $fn; cat $fn; done
只是为了丰富这个答案:如果您定期浏览终端中的源代码,您也可以通过pygments突出显示内容语法。我在我的bashrc中使用了以下微小的函数。
function pless() {
type -P pygmentize &> /dev/null || {
echo "pygmentize required but not installed. Aborting." >&2; return 1;
}
pygmentize "$@" | less -r
}
以下是一个示例屏幕截图:
答案 1 :(得分:0)
简单:cat file1 && cat file2
或者:cat dir/*
答案 2 :(得分:0)
使用此shell脚本。
#!/bin/sh
for filename in `find /path_to_file -maxdepth 1 -name "*.java"`
do
cat $filename
done
find
命令的用途是什么,你可以指定'maxdepth'。您可以深入到当前文件夹并读取.java文件。