xargs
берет свои входные данные и превращает их в аргументы данной команды. grep
возвращает интересующую вас строку, а xargs
добавляет эту строку в качестве аргумента к команде sed
, которая вместо этого ожидает имя файла. Вам вообще не нужен xargs
.
Вы можете указать sed
действовать только на той строке, которая соответствует шаблону:
sed -i~ -e '/(MCLK)/{s/\t//g' -e 's/(MCLK)//g}' ~/test.txt