Mam dwa pliki tekstowe, każdy z nich zawiera takie informacje w wierszach
file1.txt file2.txt
---------- ---------
linef11 linef21
linef12 linef22
linef13 linef23
. .
. .
. .
Chciałbym połączyć te linie plików liniami za pomocą skryptu bash w celu uzyskania:
fileresult.txt
--------------
linef11 linef21
linef12 linef22
linef13 linef23
. .
. .
. .
Jak można to zrobić w Bash?
paste -d "\n" * > results.txt
paste
oddzieli każdą kolumnę z karty, jeśli nie zastępują z-d
opcji, dzięki czemu można używać czegoś takiegoawk
,sed
itp ... sformatować każdą linię. Przykład:paste file1.txt file2.txt | awk '{printf "%-61s | %s\n", $1,$2}'
... to naśladujediff --side-by-side
wyjście)paste -d ""
do łączenia linii bez ograniczników, spacjaoto metody bez wklejania
awk
Grzmotnąć
źródło
Spróbuj podążać.
źródło
Czek
możliwe, po którym następuje polecenie, takie jak
untabify
lubtabs2spaces
źródło