Как напечатать содержимое файла с именем файла перед каждой строкой?

У меня есть несколько файлов, скажем, a, b, c, хотелось бы что-то вроде

 > cat a b c

но с "a" в начале строки a. «b» в начале строк b и «c» в начале строк c.

У меня есть несколько файлов, скажем, a, b, c, я бы хотел что-то вроде

 > cat a b c

, но с «a» в начале строки a. «b» в начале строк b и «c» в начале строк c.

У меня есть несколько файлов, скажем, a, b, c, я бы хотел что-то вроде

 > cat a b c

, но с «a» в начале строки a. «b» в начале строк b и «c» в начале строк c. Я могу сделать это с помощью python:

#!/bin/env python

files = 'a b c'

all_lines = []
for f in files.split():
  lines = open(f, 'r').readlines()
  for line in lines:
    all_lines.append(f + ',' + line.strip())

fout = open('out.csv', 'w')
fout.write('\n'.join(all_lines))
fout.close()

, но я бы предпочел делать это в командной строке, комбинируя несколько простых команд с конвейером | оператор.

Есть простой способ сделать это?

Спасибо.

5
задан Alex 17 May 2011 в 05:00
поделиться