คุณสามารถใช้ความสามารถในการทดแทนข้อความของเชลล์ ในbash
คุณสามารถใช้สัตว์ร้ายเช่น:
mv blob/a_long_directory_name/c/xx !#:$:gs^c/xx^evenmore/yy
วิธีทำลายมัน:
!#
บรรทัดปัจจุบันที่พิมพ์จนถึงตอนนี้
:$
ขอให้เลือกคำสุดท้าย (แทนที่ด้วยตัวเลขn
เพื่อเลือกn
คำที่ ') ของสตริงภายใต้การพิจารณา ( !#
ในกรณีนี้) คำสุดท้ายของบรรทัดที่พิมพ์จนถึงตอนนี้จะเป็นคำก่อนหน้า
:gs^xx^yy
ทำ global ( g
) การแทนที่แบบข้อความ ( s
) กับคำที่เป็นผลลัพธ์แทนที่ 'xx' ด้วย 'yy' ^
เป็นเพียงตัวคั่นสำหรับs
คำสั่งเพื่ออนุญาตให้ใช้/
ในรูปแบบของคุณ
วิธีนี้เป็นวิธีที่ค่อนข้างกว้างกว่าปกติเล็กน้อยซึ่งช่วยให้คุณแทนที่ส่วนใดส่วนหนึ่งของเส้นทาง ('xx') ด้วยคำอื่น ๆ ('yy')
ในที่สุดเช่นเดียวกับการปรับแต่งประวัติใด ๆ ก็เป็นการดีที่มีชุดตัวเลือกเชลล์ที่เหมาะสม (เช่นใน~/.bashrc
) ในกรณีนี้
shopt -s histverify
จะแสดงบรรทัดที่แก้ไขหลังจากที่คุณกด Return เพื่อให้คุณยังสามารถแก้ไขได้และตรวจสอบข้อผิดพลาด
ทำไมคุณถึงใช้สิ่งก่อสร้างแบบที่ฉันไม่แน่ใจ
even_more
เส้นทางญาติ ...