On Fri, 2014-05-16 at 12:07 -0700, anish singh wrote: > I am planning to do some cleanup and want to > replace some string as below across all the files > in kernel. > pr_err("%s " > TO > pr_err("%s: " > > Basically adding semicolon after the %s. > How can i do it across all the files? I don't > want to individually go to each file and do it.
Presumably, this would be done only for files that use __func__ as the first argument to printk. Something like this might work moderately well. $ git ls-files | grep '\.[ch]$' | \ xargs perl -i -e 'local $/; while (<>) { s/\b(printk|pr_(?:emerg|crit|alert|err|notice|warn|warning|info))\s*\(\s*\"\%s(?:\s*\(\s*\)\s*)?(?:\s*:\s*)?\s*(?:\-\s*)?([^"]+)"\s*,(\s*)__func__\b/$1("%s: $2",$3__func__/g; print; }' -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/