タイトル付きの複数のファイルをページごとに確認せずに出力する方法は? [コピー]

タイトル付きの複数のファイルをページごとに確認せずに出力する方法は? [コピー]

ファイル検索コマンドを実行中にag -g foo見つかったファイルの内容を見たいです。

これにより、ag -g foo | xargs moreコマンドmoreは、ターミナルウィンドウで一度に複数のファイルを表示できるほど小さいファイルであっても、スペースバーを押して各ファイル間を移動します。

これにより、ag -g foo | xargs cat一度にすべてが見えますが、ファイルが混乱して新しいファイルがどこから始まるかを知ることは困難です。

1つのスクロールですべてのファイルを見ることができますが、各ファイルのタイトルを含める方法はありますか?

ベストアンサー1

xargsタイトルを追加するように指示できます。

ag -g foo | xargs sh -c '
    for file do
        printf "====== %s =====\n" "$file"
        cat -- "$file"
    done' sh

あるいは、ループを使用することもできます。

ag -g foo | 
    while IFS= read -r file; do 
        printf '======== %s =======\n' "$file" 
        cat -- "$file"
    done | less

(これはag予想される非常に具体的な形式ではなく、1行に1つのファイル名が出力されると仮定しますxargs。)

おすすめ記事