Kabuğunuzun metin değiştirme yeteneklerini kullanabilirsiniz. In bash
, gibi bir canavar kullanabilirsiniz:
mv blob/a_long_directory_name/c/xx !#:$:gs^c/xx^evenmore/yy
Yıkmak için:
!#
şimdiki satır şimdiye kadar yazılmış mı
:$
dikkate alınan dizenin son kelimesini ( 'kelimeyi n
seçmek için bir sayıyla değiştirin) seçmenizi ister n
( !#
bu durumda). Şimdiye kadar yazılan satırın son sözcüğü önceki kelimedir.
:gs^xx^yy
sonuç kelimesinde global ( g
) metinsel ikame ( s
) yapar, 'xx' yerine 'yy' değiştirir. kalıplarınızda kullanılmasına izin veren komut için ^
bir sınırlayıcıdır .s
/
Bu yöntem, yolun herhangi bir bölümünü ('xx') başka bir kelimeyle ('yy') değiştirmenize izin verdiği için biraz daha geneldir.
Son olarak, herhangi bir geçmiş manipülasyonunda olduğu gibi, uygun kabuk seçeneklerinin (örn ~/.bashrc
. Bu durumda
shopt -s histverify
döndürdüğmesine bastıktan sonra düzenlenen satırı görüntüleyecektir, böylece yine de düzenleyebilir ve hataları kontrol edebilirsiniz.
Neden böyle bir yapı kullanmıyorsunuz emin değilim, ama bu durumda işe yarıyor.
even_more
göreceli yolu ele almıyor ...