Как отобразить или добавить несколько файлов в терминале с помощью сценария оболочки? - PullRequest
0 голосов
/ 23 июня 2011

Я хотел бы отобразить несколько файлов один за другим в терминале, например, все файлы типа .java в текущей папке. Кто-нибудь знает, как это сделать с помощью линии оболочки? Наверное, нам нужно использовать cat и переменную ...

Также, если возможно, я бы хотел добавить имена файлов ... Например, окончательная компоновка в терминале будет

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

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

Кто-нибудь знает, как это сделать? Большое спасибо!

Ответы [ 3 ]

3 голосов
/ 23 июня 2011

Может быть так просто:

$ 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

0 голосов
/ 23 июня 2011

Используйте этот сценарий оболочки.

#!/bin/sh

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

Для чего нужна команда find, вы можете указать 'maxdepth'. Вы можете зайти в глубину текущей папки и прочитать файлы .java.

0 голосов
/ 23 июня 2011

Простой: cat file1 && cat file2

Или, альтернативно: cat dir/*

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...