如何使用shell脚本在终端中显示或附加多个文件?

时间:2011-06-23 00:37:47

标签: shell ubuntu

我想在终端中一个接一个地显示几个文件,例如,当前文件夹中所有类型为.java的文件。有谁知道如何通过一行shell来做到这一点?我想我们可能需要使用cat和变量......

另外,如果可能的话,我想添加文件的名称......例如,终端中的最终布局将是

p1.java
... 
contents of p1.java 
...  

p2.java
... 
contents of p2.java 
...  

有谁知道怎么做?非常感谢你!

3 个答案:

答案 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 
}

以下是一个示例屏幕截图:

enter image description here

答案 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文件。