Saya ingin menampilkan konten file teks pada baris perintah. File hanya berisi 5-6 karakter. Apakah ada cara mudah untuk melakukan ini?
Saya ingin menampilkan konten file teks pada baris perintah. File hanya berisi 5-6 karakter. Apakah ada cara mudah untuk melakukan ini?
Jawaban:
catKarena file Anda pendek, Anda dapat menggunakan
cat.
cat filename
lessJika Anda harus melihat konten file yang lebih panjang, Anda dapat menggunakan pager seperti
less.
less filename
Anda dapat membuat lessberperilaku seperti catketika dipanggil pada file kecil dan berperilaku normal sebaliknya dengan meneruskannya -Fdan memberi -Xtanda.
less -FX filename
Saya punya alias untuk less -FX. Anda dapat membuatnya sendiri seperti ini:
alias aliasname='less -FX'
Jika Anda menambahkan alias ke konfigurasi shell Anda, Anda dapat menggunakannya selamanya.
odJika file Anda berisi karakter aneh atau tidak diinginkan, Anda dapat menggunakan
oduntuk memeriksa karakter. Sebagai contoh,
$ cat file
(ÐZ4 ?o=÷jï
$ od -c test
0000000 202 233 ( 320 K j 357 024 J 017 h Z 4 240 ? o
0000020 = 367 \n
0000023
lessada keuntungan yang jelas dibandingkan dengan program pager lain seperti pg, atau apakah hanya bermuara pada preferensi pribadi?
lessmemiliki lebih banyak fitur daripada pg. Lihatlah less(1)dan pg(1)halaman manual. Ada pager lain juga. Lihatlah unix.stackexchange.com/questions/81129/… . lessmungkin pager yang paling banyak digunakan tetapi yang Anda gunakan turun ke preferensi pribadi.
moredan most!
Meskipun semua orang menggunakan cat filenameuntuk mencetak teks file ke standar keluaran tujuan pertama adalah con kucing enating. Dari halaman manual kucing:
cat - menyatukan file dan mencetak pada output standar
Sekarang kucing baik-baik saja untuk mencetak file tetapi ada alternatif:
echo "$(<filename)"
or
printf "%s" "$(<filename)"
The ( )mengembalikan nilai dari ekspresi, dalam hal ini isi nama file yang kemudian diperluas oleh $untuk echoatau printf.
Memperbarui:
< filename
Ini tepat seperti yang Anda inginkan dan mudah diingat.
Berikut adalah contoh yang memungkinkan Anda memilih file dalam menu dan kemudian mencetaknya.
#!/bin/bash
select fname in *;
do
# Don't forget the "" around the second part, else newlines won't be printed
printf "%s" "$(<$fname)"
break
done
Untuk bacaan lebih lanjut:
BashPitfalls - file cat | sed s / foo / bar /> file
Referensi Bash - Redirect
< filenametepat seperti yang Anda inginkan, ..." menyesatkan. Secara keseluruhan, meskipun ini merupakan diskusi yang menarik tentang alternatif, saya pikir catlebih sederhana.
< filenametidak menampilkan konten file, tetapi cat filenametidak.
tee < filenamejuga.
echo "$(<filename)"bashism. Tidak cukup di sini.
"$(<filename)". Terima kasih ...
Alat untuk menangani file teks di unix adalah perintah dasar, sehari-hari:
Di unix dan linux untuk mencetak seluruh konten dalam file
cat filename.txt
atau
more filename.txt
atau
less filename.txt
Untuk beberapa baris terakhir
tail filename.txt
Untuk beberapa baris pertama
head filename.txt
Salah satu opsi adalah menggunakan more
misalnya more file.txt
Namun tidak memiliki semua fitur ditambahkan oleh less.
Salah satu contoh sederhana adalah bahwa Anda tidak dapat menggulir kembali dalam output. Umumnya telah digantikan oleh kurang - yang dinamai bercanda karena
kurang itu lebih
Saya selalu menggunakan $ less "your file here", karena sangat sederhana, menyediakan grepperintah interaktif bawaan, dan memberi Anda antarmuka yang mudah digunakan yang dapat Anda gulir dengan tombol panah.
(Ini juga termasuk di hampir setiap sistem * nix)
lessadalah versi berlebihan dari more(bandingkan man lessdengan man more), dan bagi saya itu memiliki dua fitur yang mengganggu: 1) itu beralih ke buffer layar alternatif, ketika kurang berakhir, file yang baru saja Anda lihat menghilang 2) di EOF Anda harus mengetikkan secara eksplisit q(Saya tahu, ada opsi untuk ini). Jadi salah satu tindakan pertama saya di lingkungan baru adalah pengaturan export PAGER=/bin/moredi profil saya dan gunakan moresepanjang waktu.
-Xbendera. 2) Coba -Ebendera. lessmemiliki moremode emulasi. Anda dapat mengaktifkannya dengan mengatur LESS_IS_MOREvariabel lingkungan. Anda dapat menggulir ke atas dalam moremode emulasi.
lessterlalu rumit. Kemampuannya untuk menjalankan perintah eksternal adalah contoh sempurna dari kompleksitasnya yang berlebihan.
more, dan ada banyak fitur tambahan, ia melakukan pekerjaan dengan sangat baik.
Jika ini file besar, dan Anda ingin mencari bagian tertentu, Anda dapat menggunakannya
cat filename | grep text_to_search -ni
Anda juga dapat menggunakan editor Vim yang lebih interaktif (atau editor vi jika Anda tidak memiliki Vim):
vim filename
Or
vi filename
Vim / vi adalah editor yang hebat, juga dapat digunakan sebagai pembaca dalam "Mode Normal" atau menggunakan opsi -R, ia memiliki banyak fitur yang akan membantu Anda dalam menelusuri file.
vim -Radalah view. Tetapi perlu diingat bahwa itu tidak suka pengalihan, seperti yang dibahas dalam xargs dan vi - "Input bukan dari terminal" .
Gunakan perintah cat untuk menampilkan konten nama file. nama file kucing
Gunakan perintah vim untuk mengedit file. nama file vim
sed -n l filebisa bermanfaat.