Rumah >Tutorial sistem >LINUX >Penjelasan terperinci tentang dua arahan manipulasi teks yang sangat berguna dan penting pada Linux

Penjelasan terperinci tentang dua arahan manipulasi teks yang sangat berguna dan penting pada Linux

WBOY
WBOYke hadapan
2024-02-14 17:27:03649semak imbas

Sistem Linux menjadikan manipulasi dan pemprosesan teks sangat mudah melalui sejumlah besar arahan. Alat baris perintah seperti tr dan fmt boleh membantu anda menukar, memformat dan mengubah suai fail teks daripada terminal.

详解 Linux 上两个超有用重要的文本操作命令

Dalam artikel ini, kita akan membincangkan cara memformat teks menggunakan arahan tr dan fmt dalam situasi yang berbeza. Jadi, apakah itu tr dan fmt? Dan bagaimana anda menggunakannya?

Apakah arahan tr?

Perintah

tr ialah singkatan perkataan terjemah, yang boleh membantu pengguna memadam atau menggantikan aksara tertentu dalam fail teks. Ia biasanya digunakan bersama-sama dengan arahan lain dan berfungsi dengan mengambil input standard, melaksanakan operasi padanya, dan menulis keputusan kepada output standard.

tr sintaks arahan

Sintaks asas perintah

tr ialah:

 tr [option]... SET1 [SET2]

Julat set watak:

  • Aksara bernilai perlapanan NNN NNN (1 hingga 3 ialah aksara nilai perlapanan)
  • Sebak ke belakang
  • nada dering Ctrl-G
  • b Ctrl-H aksara ruang belakang
  • f Ctrl-L Walk untuk menukar halaman
  • n Ctrl-J Baris baharu
  • r Ctrl-M Masukkan
  • t Kekunci tab Ctrl-I
  • v Ctrl-X tab mendatar
  • CHAR1-CHAR2: Tentukan julat aksara dari CHAR1 hingga CHAR2 Spesifikasi julat adalah berdasarkan susunan kod ASCII, yang hanya boleh dari kecil ke besar, bukan dari besar ke kecil.
  • [CHAR*]: Ini adalah tetapan khas untuk SET2 Fungsinya adalah untuk mengulang aksara yang ditentukan sehingga panjangnya sama dengan SET1
  • .
  • [CHAR*REPEAT]: Ini juga merupakan tetapan khas untuk SET2 Fungsinya adalah untuk mengulang aksara yang ditetapkan sehingga masa REPEAT yang ditetapkan (bilangan REPEAT dikira dalam sistem perlapanan, bermula dengan 0)
  • [:alnum:] : Semua aksara dan nombor abjad
  • [:alpha:] : Semua aksara abjad
  • [:blank:] : Semua ruang mendatar
  • [:cntrl:] : Semua aksara kawalan
  • [:digit:] : Semua nombor
  • [:graf:] : Semua aksara boleh cetak (tidak termasuk ruang)
  • [:lower:] : Semua huruf kecil
  • [:print:]: Semua aksara boleh cetak (termasuk ruang)
  • [:punct:] : Semua aksara tanda baca
  • [:space:] : Semua aksara ruang mendatar dan menegak
  • [:upper:] : Semua huruf besar
  • [:xdigit:]: Semua nombor perenambelasan
  • [=CHAR=]: Semua aksara yang sepadan dengan aksara yang ditentukan (CHAR dalam tanda yang sama mewakili aksara yang anda boleh sesuaikan)

Cara menggunakan arahan tr

Anda boleh menggunakan arahan tr untuk menukar kes fail teks, mengalih keluar nombor, menggantikan ruang dengan tab dan juga meletakkan setiap perkataan pada baris baharu. Kemungkinan dengan arahan tr sangat luas dan anda boleh mencapai begitu banyak jika anda tahu cara menggunakannya.

Untuk contoh ini, buat fail teks: linuxmi.txt. Kandungan fail ialah:

Linuxmi.com. Technology, Simplified! 56789

Gunakan arahan tr untuk menggantikan aksara

Untuk melakukan ini, nyatakan aksara yang ingin anda gantikan dan apa yang anda ingin gantikan. Contohnya, jika anda ingin menggantikan aksara pertama setiap perkataan dengan ABCD, laksanakan arahan ini:

Arahan

cat digunakan untuk memaparkan kandungan fail.

cat linuxmi.txt | Arahan

cat digunakan untuk memaparkan kandungan fail.

Hasil:

Linuxmi.com. Bechnology, Cimplified! D6789

详解 Linux 上两个超有用重要的文本操作命令

Tukar teks daripada huruf kecil kepada huruf besar

Untuk melakukan ini, laksanakan arahan berikut:

cat linuxmi.txt | cat linuxmi.txt |. tr [:bawah:] [:atas:]
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
⚡ cat linuxmi.txt | tr a-z A-Z

Hasilnya ialah

Linuxmi.com. Technology, Simplified! 56789

Tukar 详解 Linux 上两个超有用重要的文本操作命令teks daripada huruf besar kepada huruf kecil

Untuk melakukan ini, laksanakan mana-mana arahan berikut:

cat linuxmi.txt | cat linuxmi.txt |. tr [: atas:] [: bawah:]

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
⚡ cat linuxmi.txt | tr a-z A-Z

Hasilnya ialah

Linuxmi.com. Technology, Simplified! 56789

Ganti ruang dengan tab

Untuk menggantikan semua ruang dengan tab, laksanakan arahan berikut:

linuxmi@linuxmi:~/www.linuxmi.com$ cat linuxmi.txt | tr [:space:] '\t'

Sebagai alternatif, jika anda ingin menggantikan ruang dengan baris baharu untuk mencetak setiap perkataan pada baris berasingan, gantikan "t" dengan "n".

详解 Linux 上两个超有用重要的文本操作命令

Gunakan arahan tr untuk memadam aksara

Untuk mengalih keluar aksara, anda boleh menggunakan pilihan -d di sebelah arahan tr. Contohnya, jika anda ingin mengalih keluar huruf "e" daripada setiap perkataan dalam fail linuxmi.txt, laksanakan arahan berikut:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
⚡ cat linuxmi.txt | tr -d 'e'

Hasilnya ialah

Linuxmi.com. Tchnology, Simplifid! 56789
详解 Linux 上两个超有用重要的文本操作命令

删除所有标点符号

如果你想删除文件中的所有标点符号而不指定是什么符号,使用 -d 选项和解释的序列 [:punct:]:

linuxmi@linuxmi:~/www.linuxmi.com$ cat linuxmi.txt | tr -d [:punct:]
结果为
Linuxmicom Technology Simplified 56789
详解 Linux 上两个超有用重要的文本操作命令

使用tr删除所有数字

删除文本文件中的所有数字,使用这个命令:

linuxmi@linuxmi:~/www.linuxmi.com$ cat linuxmi.txt | tr -d [:digit:]
结果为
Linuxmi.com. Technology, Simplified!
详解 Linux 上两个超有用重要的文本操作命令

使用 tr 补码选项

tr 命令附带 -c 选项,基本上执行与原始操作相反的操作。让我们以前面的命令为例。如果您将补码选项添加到此命令,它将删除所有非数字字符。看看:

linuxmi@linuxmi:~/www.linuxmi.com$ cat linuxmi.txt | tr -cd [:digit:]
结果为
56789
详解 Linux 上两个超有用重要的文本操作命令

什么是 fmt 命令?

fmt 命令是一个简单的文本格式化工具,您可以使用它在 Linux 上打印和处理文本。您还可以使用该命令格式化电子邮件回复。

要获得关于 fmt 命令的命令行帮助,运行以下命令查看其手册页面:

man fmt
详解 Linux 上两个超有用重要的文本操作命令

fmt命令格式

fmt命令的基本语法是:

fmt [-WIDTH] [OPTION] [FILE]

如何使用 fmt 命令

对于本例,创建一个名为file.txt的文件,并添加以下文本:

Linux fan www.linuxmi.com shares open source news, tutorials on Linux, programming, big data, operations, and databases. I was a 

big brother back then, the webmaster of Linux fanatics, and a Linux enthusiast using the desktop version. I write in my spare 

time and hope to share some useful tips with Linux beginners and enthusiasts.


使用默认 fmt 命令

默认的 fmt 命令优化了文本,并以更可读的格式打印出来。fmt 命令的默认宽度是 75 列。执行这个命令来尝试默认的 fmt 操作:

linuxmi@linuxmi:~/www.linuxmi.com$ fmt linuxmi.txt

结果为

详解 Linux 上两个超有用重要的文本操作命令

更改文本的宽度

要更改文件的宽度,可以使用-w选项。语法如下所示:

fmt -w N filename

修改文件宽度为20列,使用命令:

linuxmi@linuxmi:~/www.linuxmi.com$ fmt -w 50 linuxmi.txt

结果如下图

详解 Linux 上两个超有用重要的文本操作命令

拆分长行文本

要分割长行,请使用 -s 选项试一下:

linuxmi@linuxmi:~/www.linuxmi.com$ fmt -s linuxmi.txt

结果如下图为

详解 Linux 上两个超有用重要的文本操作命令

缩进每个段落的第一行

要通过缩进突出显示每个段落的第一行,请使用-t选项。这是语法:

fmt -t filename.

让我们试一试:

linuxmi@linuxmi:~/www.linuxmi.com$ fmt -t linuxmi.txt

结果为

详解 Linux 上两个超有用重要的文本操作命令

tr和fmt:有用的文本操作命令

tr 和 fmt 使用它们提供的不同操作使文本格式化和处理变得简单和自动化。Linux 和其他基于 Unix 的操作系统为您的每一个文本格式化需求提供了大量的文本操作命令。你只需要知道它们是什么以及如何使用它们。


Atas ialah kandungan terperinci Penjelasan terperinci tentang dua arahan manipulasi teks yang sangat berguna dan penting pada Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:lxlinux.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam