echo Hello World | nano - | less
Saya ingin memodifikasi Hello -> Selamat tinggal di editor teks.
Tidak harus dengan nano. Saya terjebak dengan nano membaca stdin tetapi mengharuskan saya untuk menulis ke file (menulis ke - membuat file bernama -)
Jawaban:
The MoreUtils paket memiliki perintah yang besar untuk melakukan hal ini, disebut
vipe
. Dari halaman manual:Secara default ini akan menggunakan
editor
perintah, yang biasanya hanya symlink ke editor baris perintah default. Anda dapat mengubahnya dengan mengubah tautan (digunakanupdate-alternatives
pada sistem berbasis Debian) atau menggunakanEDITOR
variabel lingkungan. Misalnya, Anda bisa melakukan:Kalau tidak, jika editor teks tertentu tidak memiliki dukungan untuk hal semacam ini, saya pikir Anda terjebak dengan secara manual membuat file sementara, menulis file itu, menjalankan editor, memasukkan file ke seluruh pipa dan menghapus file sementara. The
vipe
perintah pada dasarnya mengurus semua ini. Ini bagus, tetapi perintahnya jarang tersedia secara default.sumber
Editor teks joe (alias Editor Sendiri Joe ) melakukan apa yang Anda inginkan.
Perintah ini
echo "hello world" | joe - | less
berfungsi seperti yang diharapkan, meskipun perlu tanda kutip untuk beberapa alasan.Beberapa perintah (seperti gpg) menghasilkan output yang ditampilkan yang tidak memasuki pipa. Ini merusak tampilan awal di dalam joe, tetapi menekan ctrl + r - refresh - akan membersihkan semuanya.
sumber
Jika yang Anda inginkan adalah mengganti "Halo" dengan "Selamat tinggal" (atau penggantian kata lain), Anda dapat menghindari pengeditan manual dalam editor demi alat pencarian & penggantian otomatis. Misalnya "sed" dapat melakukan penggantian seperti ini:
Periksa "man sed" untuk lebih jelasnya.
sumber