Новичок в sed и может использовать некоторую помощь.Я хотел бы превратить эту «a / b / ca / b / c» в эту «a / b / c abc».где a / b / c - любой путь.
спасибо
Попробуйте:
sed 'h; s/ .*//; x; s/.* //; s:/:-:g; x; G; s/\n/ /'
Это может работать:
echo "a/b/c a/b/c" | sed ':a;s|\(.* [^/]*\)/|\1-|;ta' a/b/c a-b-c
Или это:
echo "a/b/c a/b/c" | sed 's/.* //;h;y/\//-/;x;G;y/\n/ /' a/b/c a-b-c
вы можете использовать awk,
$ echo "a/b/c a/b/c" | awk '{gsub("/","-",$NF)}1' a/b/c a-b-c
Поскольку вы хотите использовать пробелы для удаления, я бы просто использовал perl:
perl -ane '$F[1] =~ s/\//-/; print "@F\n"'