按一行一行的方法将一个文本文件复制到另一个文件中_命令行技巧:分割文件内容...
(給Linux愛好者加星標,提升Linux技能)
英文:Stephen Snow,翻譯:Linux中國/MjSeven
linux.cn/article-10809-1.html
Fedora 發行版是一個功能齊全的操作系統,有出色的圖形化桌面環境。用戶可以很容易地通過單擊動作來完成任何典型任務。所有這些美妙的易用性掩蓋了其底層強大的命令行細節。本文是向你展示一些常見命令行實用程序的系列文章的一部分。讓我們進入 shell 來看看?cut。
通常,當你在命令行中工作時,你處理的是文本文件。有時這些文件可能很長,雖然可以完整地閱讀它們,但是可能會耗費大量時間,并且容易出錯。在本文中,你將學習如何從文本文件中提取內容,并從中獲取你所需的信息。
重要的是要意識到,在 Fedora 中有許多方法可以完成類似的命令行任務。例如,Fedora 倉庫含有用于解析和處理文本的完整語言系統。此外,還有多個命令行實用程序可用于 shell 中任何可能的用途。本文只關注使用其中幾個實用程序選項,從文件中提取一些信息并以可讀的格式呈現。
cut 使用
為了演示這個例子,在系統上使用一個標準的大文件,如?/etc/passwd。正如本系列的前一篇文章所示,你可以執行?cat?命令來查看整個文件:
$ cat /etc/passwdroot:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
...
此文件包含系統上所有所有賬戶的信息。它有一個特定的格式:
name:password:user-id:group-id:comment:home-directory:shell假設你只想要系統上所有賬戶名的列表,如果你只能從每一行中刪除 “name” 值。這就是 cut 命令派上用場的地方!它一次處理一行輸入,并提取該行的特定部分。
cut 命令提供了以不同方式選擇一行的部分的選項,在本示例中需要兩個,-d 和 -f。-d 選項允許你聲明用于分隔行中值的分隔符。在本例中,冒號(:)用于分隔值。-f 選項允許你選擇要提取哪些字段值。因此,在本例中,輸入的命令是:
$ cut -d: -f1 /etc/passwdroot
bin
daemon
adm
...
太棒了,成功了!但是你將輸出打印到標準輸出,在終端會話中意味著它需要占據屏幕。如果你需要稍后完成另一項任務所需的信息,這該怎么辦?如果有辦法將 cut 命令的輸出保存到文本文件中,那就太好了。對于這樣的任務,shell 有一個簡單的內置功能,重定向功能(>)。
$ cut -d: -f1 /etc/passwd > names.txt這會將 cut 的輸出放到一個名為 names.txt 的文件中,你可以使用 cat 來查看它的內容:
$ cat names.txtroot
bin
daemon
adm
...
使用兩個命令和一個 shell 功能,可以很容易地使用 cat 從一個文件進行識別、提取和重定向一些信息,并將其保存到另一個文件以供以后使用。
推薦閱讀
(點擊標題可跳轉閱讀)
Linux Shell 中括號的作用 ()、(())、[]、[[]]、{}
這些 Linux 技巧大大提高你的工作效率
如何在 Linux 中安裝、配置和使用 Fish Shell?
看完本文有收獲?請分享給更多人
關注「Linux 愛好者」加星標,提升Linux技能
好文章,我在看??
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的按一行一行的方法将一个文本文件复制到另一个文件中_命令行技巧:分割文件内容...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python查看图片的源代码_pytho
- 下一篇: 如何查看文件夹里有几张图片_如何把几张图