Chci vložit obsah souboru1 do souboru2 po odpovídajícím VZORU. Chci to udělat až po prvním výskytu PATTERN.
Chtěl bych znát úpravu, kterou musím pro své potřeby provést v následujícím příkazu.
sed -i "/PATTERN/r file1" file2
Přijatá odpověď:
sed '/PATTERN/{
r file1
:a
n
ba
}' file2
:a
, n
, ba
je pouze cyklus, který vytiskne celý obsah souboru po vzoru až do konce. a všimněte si, že těchto 6 řádků je pouze jeden příkaz, ale nový řádek je potřeba k ohraničení dalšího příkazu sed za r
, :
a b
.
další informace z info sed
:
`n'
If auto-print is not disabled, print the pattern space, then,
regardless, replace the pattern space with the next line of input.
If there is no more input then `sed' exits without processing any
more commands.
`: LABEL'
[No addresses allowed.]
Specify the location of LABEL for branch commands. In all other
respects, a no-op.
`b LABEL'
Unconditionally branch to LABEL. The LABEL may be omitted, in
which case the next cycle is started.
Jak otestovat, zda soubor používá Crlf nebo Lf, aniž byste jej upravovali?
Linux – Určení konkrétního souboru odpovědného za vysoké I/O?