I have files which are of the following style - these are parametrised configuration files; the values within the #
characters are replaced with real values from a database depending on environment.
ABC=#PARAMETER_1#:#PARAMETER_2#
SOMETHING_ELSE=#PARAMETER_1#
SOMETHING_NEW=#PARAMETER_2##PARAMETER_3#
I would like to extract from these files the values between the hash/pound (#
) characters, so that I can easily identify the parameters required. There is no standard column width or anything like that, the only standard being that anything between two #
characters is replaced with a value from the database.
This is the ideal cleaned, deduped output:
PARAMETER_1
PARAMETER_2
PARAMETER_3
I have seen this question, but the crucial difference is that there can be any number of variables on a particular line in my situation.
I have tagged this question with Bash, but it doesn't have to be, it could be perl etc, it just needs to run from the command line in Unix.
awk
documentation I used to read is The GNU Awk User's Guide. – manatwork Jun 11 '12 at 12:08p[RT]
is quite enough to create the list of keys, ie, it doesn't require=1
, as it never needs to access any values (it's actually faster, too) ... and also by the way, very nice +1. – Peter.O Jun 11 '12 at 20:33