2011-06-23 49 views
0

我想在終端中一個接一個地顯示多個文件,例如當前文件夾中的所有類型爲.java的文件。有誰知道如何通過一行shell來做到這一點?我想可能是我們需要使用cat和可變...如何使用shell腳本在終端中顯示或追加多個文件?

另外,如果可能的話,我想補充的文件的名稱...例如,在終端的最終佈局將

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

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

有誰知道該怎麼做?非常感謝你!

回答

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 "[email protected]" | less -r 
} 

下面是一個例子截圖:

enter image description here

+0

感謝您的回覆,但是如果我想在他們的內容之間添加文件的名稱,如我的初始文章中所述? – SoftTimur

+0

@SoftTimur:更新了我的答案。 – miku

+0

非常感謝你,這是有效的...... – SoftTimur

0

簡單:cat file1 && cat file2

,或者:cat dir/*

+0

感謝您的回覆,但如果我想在他們的內容之間添加文件的名稱,如我的初始文章中所述? – SoftTimur

+0

其實'cat file1 file2 file3' –

0

使用此shell腳本。

#!/bin/sh 

for filename in `find /path_to_file -maxdepth 1 -name "*.java"` 
do 
     cat $filename 
done 

什麼用find命令的是,你可以指定 'MAXDEPTH'。您可以進入當前文件夾的更深層並閱讀.java文件。

相關問題