2013-01-08 12 views
8

wiem, żeDołączanie zawartość pliku na początku innego pliku w systemie UNIX

cat file1 >> file2 

byłoby dołączyć zawartość plik1 na koniec plik2. Z drugiej strony, jak mogę dołączyć zawartość pliku 1 na początku pliku 2, a nie na jego końcu?

Faktycznie, mam jeden plik główny M, oraz kilka innych plików w katalogu D. Chcę dołączyć zawartość pliku M na początku wszystkich plików w katalogu D.

Odpowiedz

8

Dla każdego plik, który można zrobić:

cat MASTER file >> file.tmp 

A następnie przenieś plik.tmp do pliku.

+0

Idealne, dzięki! –

7

Wystarczy zrobić:

cat file1 file2 > tmp && mv tmp file2 
3

Będziesz musiał użyć tymczasowy plik i zmienić jego nazwę po scaleniu.

Przykład:

echo -e "a\nb\nc" > LETTERS 
echo -e "1\n2\n3" > NUMBERS 
cat NUMBERS LETTERS > TMP 
mv TMP LETTERS 
cat LETTERS 

Twoje polecenie może wyglądać:

for file in $(find -name "*.java"); do cat PREPEND ${file} > ${file}.tmp; mv ${file}.tmp ${file}; done 
Powiązane problemy