Это может работать с использованием Bash / GNU sed:
<<<"this is a test" sed -r 's/(\S+\s)(\S+)(.*)/echo "\1 $(md5sum <<<"\2") \3"/e;s/ - //'
this 7e1b6dbfa824d5d114e96981cededd00 a test
или в основном седативный раствор:
<<<"this is a test" sed -r 'h;s/^\S+\s(\S+).*/md5sum <<<"\1"/e;G;s/^(\S+).*\n(\S+)\s\S+\s(.*)/\2 \1 \3/'
this 7e1b6dbfa824d5d114e96981cededd00 a test
Заменяет is
с this is a test
на md5sum
Пояснение:
В первом: - определить столбцы и использовать обратные ссылки в качестве параметров в команде Bash, которая подставляется и оценивается, затем вносить косметические изменения, чтобы потерять описание файла (в данном случае стандартный ввод), сгенерированное командой md5sum.
Во втором: - аналогично первому, но перенесите входную строку в пространство удержания, затем, после оценки команды md5sum, добавьте строку G
в пространство образца (результат md5sum) и используйте подстановку, подходящую для соответствия.