Python學習第181課——cult剪切文件的內容

2021-01-07 石問新

我們上節學習的過程中,創建了一個name_list.txt的文件,name_list.txt裡面的內容是:

I am 1.txt

I am xiaozhi

I am hexiaozhi

現在如果我想把name_list.txt裡面的內容進行截取,把這3行內容的I am都去掉,只留下1.txt、xiaozhi、hexiaozhi,如何做呢?

我們使用cut命令就可以做到。

●cut

cut在英語中就是剪切、切掉的意思。

我們先使用man cut來看看cut的說明:

如上圖,我們看到cut的作用是從文件的每一行刪除片段。

cut的option我們一般最常用的2個是-d和-f。

-d就是delimiter的第一個字母,就是分隔符或者說切分的標誌,可以自定義。

-f就是field的第一個字母,就是內容被切分後的區域。我們可以選擇自己需要的區域。

現在我們把name_list.txt裡面的1.txt、xiaozhi、hexiaozhi切分出來。

我們輸入命令:

cut -d" " -f 3 name_list.txt

說明:

-d代表分隔符,就是用什麼對每一行內容進行切分,那麼-d後面就要跟具體的分隔符,因為我們name_list.txt裡面的內容,每一行都是用空格分開的,所以這裡我們就用空格作為分隔符,空格就是雙引號裡面按空格鍵打一個空格。

注意:引號裡面如果不按空格鍵,就代表什麼都沒有,表示空字符串,並不是空格。""代表空字符串," "代表空格。

-f代表切分後的區域,比如I am 1.txt這一行,被兩個空格分隔成了3個區域,第一個區域是I ,第二個區域是am,第三個區域是1.txt。

而-f後面的數字3,代表我們要保留的區域,3就是代表我們要保留第3個區域。

提示:如果要保留第三個以及它後面的所有區域,就在3後面跟一個-。

分隔符和切分區域後面,就是被切分的文件,這裡name_list.txt就是被切分的文件。

具體操作如下圖:

我們看到把name_list.txt裡面的每一行的第三個區域保留下來了。

以上是我們直接選定只保留第三個區域的東西。如果文件的內容被切分後,多於3個區域,而我們想要把第三個區域以及它之後的區域的東西都保留下來,那麼就在-f的後面的數字3後面加上一個-。

現在我來演示一下。

我們把name_list.txt裡面的內容改一下,比如,我把I am 1.txt改成:

I am John B. Goodenough.

現在我想要把I am去掉,但是要把I am後面的名字全都保留,因為人家的這個名字就是比較長,如果我們只保留第三個區域,那就只能保留下來John,我們還要把後面的B. Goodenougn也保留下來。

我們用nano name_list.txt打開name_list.txt這個文件,然後進行改動,

改動之後,按Ctrl+X、y進行保存。

現在我們還是用空格對name_list.txt這個文件的內容進行切分,然後保留第三個區域以及它之後的區域,此時使用命令:

cut -d" " -f 3- name_list.txt

也就是在-f後面的3後面加了一個-。

現在我們看看切分的結果,如下圖:

接下來我們用cat name_list.txt看看name_list.txt裡面是什麼。

我們看到name_list.txt裡面還是跟沒有切分之前一樣。這是因為cut命令只是對這個文件的內容進行了切分的操作,然後把切分的結果顯示了出來,但是被切分的文件的內容還是不變的。

那麼我們根據上節所學的知識,可以把cut後的結果導入到一個新的文件裡面去,這樣就實現了對一個文件裡面我們想要的內容的截取和保存。

如何把切分的結果導入到新的文件呢?

我們可以在cut命令之後跟上>,然後空格,再跟上要導入的文件即可。

比如我們要導入到的文件叫new_name_list.txt。

那麼就使用命令:

cut -d" " -f 3- name_list.txt > new_name_list.txt

我們把切分的結果導入到new_name_list.txt之後,可以用cat看看name_list.txt和new_name_list.txt裡面的內容。

操作如下圖:

總結:

對一個文件中的內容進行選擇性的剪切,可以使用cut命令。

命令格式:

cut -d"分隔符" -f 要保留的區域(以數字表示保留哪個區域) 被切分的文件

如果要保留一個區域以及它後面的所有區域,在要保留的區域的數字後面加一個符號-。

如果要把切分的結果進行保存,可以在cut命令後面跟上>,空格,再跟上要保存到的新文件。

註:John B. Goodenough是2019年諾貝爾化學獎獲獎者,大家都叫他「足夠好」先生,今年97歲了,他的人生經歷很豐富,先是學習數學的,後面當兵去了,退役後30多歲又去學習物理,之後研究計算機內存,由於研究經費被砍掉,然後又從研究物理轉而研究化學,54歲開始研究鋰電池,75歲取得巨大突破,95歲研製出全世界首個全固態電池,被稱為「鋰電池之父」。我們今天使用的手機、筆記本電腦、電瓶車、電動汽車、手環等可穿戴智能設備,都是使用的鋰電池,沒有這位老先生,我們今天就不會安全便捷的使用這些設備。他的人生非常勵志,97歲才獲得諾貝爾獎,而且他帶學生不會因為種族和國籍而進行歧視,他的學生大多是亞洲人,中國科學院的研究院辛森、孫春文都是他的學生。建議大家有時間可以看看他的經歷。

相關焦點

  • Python學習第61課-shell用cat和less打開文件
    【每天幾分鐘,從零入門python編程的世界!】補充:在第60節課的學習中,我們知道保存網頁用這個命令:curl -L -o 要保存的路徑 要下載的網頁的網址①要保存的路徑的文件名可以是任何後綴,比如.txt,點csv等等都可以。
  • Python學習第52課-寫入文件
    【每天幾分鐘,從零入門python編程的世界!】Python操作外部文件的數據,既然有讀取,就會有寫入。我們現在學習用Python寫入文件。順便提一點小小的計算機知識,我們人類讀取一個文件,一般是眼睛裡能夠看到打開的文件窗口區域的所有內容,或者一整塊內容,我們可以一個字一個字的讀,也可以一句一句的讀,甚至一目十行。而計算機讀取文件,是一個「字」一個「字」讀取的,這裡的「字」是指一串二進位的數碼,其實任何文件的內容都是能夠轉換成二進位數碼的符號。
  • Python學習第141課——Python爬蟲簡介
    【每天幾分鐘,從零入門python編程的世界!】今天我們簡單的了解下網絡爬蟲,網絡爬蟲其實就是一個自動獲取網頁內容的程序。Python的爬蟲需要用到一個第三方的庫requests。requests庫可以在git bash中使用命令pip install requests進行安裝。
  • Python學習第94課-通過第三方接口獲得數據並導入Python繪圖
    【每天幾分鐘,從零入門python編程的世界!】上節課我們學習了導入外部文件數據並繪圖。這節課我們學習通過第三方接口獲得數據並導入Python進行繪圖。我們的數據接口使用Tushare,Tushare是一個免費、開源的python財經數據接口包。
  • 慢步學習,python庫文件概述,再來點第三方庫文件安裝的乾貨
    python庫文件是什麼?python的庫文件就是迄今為止,已經實證可以解決一定編程問題的代碼庫,所有python程序開發者都可以使用。就像哆啦A夢的百寶袋,你可以直接從這個百寶袋中取來「如意門」這個庫文件,通過正確使用這個庫文件,你就能按你心意,到達你想到達的地方。
  • 文科生快速入門python(十三) | 文件讀寫詳解
    可見,使用python讀取一個文件的時候,相當於把這個文件從硬碟上,讀取到了內存中。我們如果想要操作這個文件,只有獲取這個文件對象後,才能夠真正的去操作這個文件,不管是讀取文件中的內容,還是向文件中寫入內容。
  • Python學習第178課——less、head、tail讀取文件內容
    之前我們學習了tar打包、解包、gzip、bzip2、zip壓縮和解壓的命令。現在我們學習如何更方便、更快速的讀取一個大型文件或者說數據比較多的文件中的內容。我在自己的Linux系統桌面上下載了一個韓寒《三重門》小說的zip文件。
  • n種方式教你用python讀寫excel等數據文件
    下面整理下python有哪些方式可以讀寫數據文件。1. read、readline、readlinesread()  :一次性讀取整個文件內容。推薦使用read(size)方法,size越大運行時間越長readline()  :每次讀取一行內容。
  • n種方式教你用Python讀寫Excel等數據文件
    下面整理下python有哪些方式可以讀寫數據文件。1. read、readline、readlinesread()  :一次性讀取整個文件內容。推薦使用read(size)方法,size越大運行時間越長readline()  :每次讀取一行內容。
  • Python3 使用you-get,youtube-dl,ffmpeg 下載全網視頻並剪切視頻
    有時候看到某些視頻的片段非常的不錯,想要剪切下來的衝動的次數也越來越多。一個視頻剪切倒還好,但是多個視頻的情況下,就比較麻煩了。所以本人用python寫了個腳本,只需要以下兩個步驟就可以按你所需要的下載並剪切視頻:(需自己安裝python3.6,ffmpeg,you-get,youtube-dl)一:新建個url.txt文件
  • python編程從入門到實踐:讀取整個文件和創建包含文件各行的內容
    1.python學習筆記:在文件編輯器中新建一個文件,寫幾句話來總結一下你至此學到的Python知識,其中每一行都以「In python you can」打頭。將這個文件命名為learning_python.txt,並將其存儲到為完成本章練習而編寫的程序所在的目錄中。
  • 從0開始學python-6.2 用python讀寫文件
    上節課我們學習了什麼文件系統,文件樹的組成結構是什麼樣的。我們還學習了用python來查找、重命名一個文件。這節課,我們一起學習一下怎麼用python操作一個文件的內容。文件操作對一個文件,我們可以1)讀取裡面的內容、2)往文件裡寫內容、3)追加文件內容。我們來看看用python怎麼做這些事情。打開文件在對文件內容操作之前,我們首先要打開文件。我們可以使用open函數打開文件,看代碼:file = open('.
  • 測試開發之python學習-第31講:文件操作四
    一.學習內容*   文件操作常用方法 二.文件操作常用方法1. fb.read([size]):size為讀取的長度以byte為單位如果不指定參數,表示一次性讀取全部內容,以字符串形式返回,並且每一行結尾會有一個「\n」符號代碼為:#encding=utf-8fp =open("C:
  • Python讀寫文件open的使用解讀
    這裡有軟體測試內容的學習和分享
  • python入門第十三課:文件的讀寫與分析介紹,異常處理和代碼重構
    ##本教程使用的課本是《Python編程:從入門到實踐》,作者:[美] Eric Matthes學完前面十二節課,已完成Python編程入門了,我們已經能編寫組織有序而易於使用的Python程序了。接來下繼續學習更多應用操作,比如文件操作、數據存儲、異常處理等,這些技巧能讓我們快速的處理大量的數據,讓程序更加健壯。
  • Python+AI+選修課第5課:我的第二個AI程序人臉大挪移誕生記
    在csdn上發現了《Python實現AI換臉》這篇文章,因源程序省略了很多細節,在使用上也很不方便,於是在其基礎上做了完善,形成了一個能夠選擇文件進行換臉的exe文件。趁熱打鐵,本周的選修課就將第七周的內容前置了。怎麼樣,有沒有被我大挪移後的臉噁心到?
  • Python學習第119課——numpy中的broadcasting
    【每天幾分鐘,從零入門python編程的世界!】這節課我們學習numpy中的數據的一個多變的特性--broadcasting,broadcasting的官方的說明比較麻煩,我們這裡把它簡化一下,就把它當做「腦補」的意思。
  • Python學習第93課-導入csv數據並繪製折線圖
    【每天幾分鐘,從零入門python編程的世界!】之前我們畫各種圖,都是把需要分析的數據,手寫輸入Python的開發工具中去的,這樣做是為了學習和理解Python數據可視化畫圖的原理,但是在實際工作中,我們一定是去處理Python開發工具之外的一些數據,比如Excel表格保存的數據,或者其他格式的文件保存的數據。
  • Python學習第209課-文件權限更改
    在上一節中,我們學習如何查看文件權限和文件權限代碼的含義,這就是我們如何學習如何更改文件的權限讓我們在桌面上創建一個secret.txt,使用命令:touchsecret.txt,如下圖所示:在桌面上創建secret.txt後,讓我們看看這個文件的權限,使用以下命令:ls-l,如下所示:我們看到新創建的
  • 使用Python圖像處理庫Pillow處理圖像文件
    可以對應於教程正文的第2章。使用Python語言解決實際問題時,往往需要使用由第三方開發的開源Python軟體庫。本案例使用圖像處理庫Pillow中的模塊、對象來處理圖像:實現讀取圖像、獲取圖像信息、調整圖像大小、旋轉圖像、平滑圖像、剪切圖像等基本圖像處理任務。