如何在linux上使用rev命令

Linux的rev命令反轉文字字串。這個命令既可以對提供的文字進行操作,也可以對檔案進行操作,而且看似簡單。但與許多命令列實用程式一樣,當您將其與其他命令結合使用時,它的真正威力就變得顯而易見了。...

Linux的rev命令反轉文字字串。這個命令既可以對提供的文字進行操作,也可以對檔案進行操作,而且看似簡單。但與許多命令列實用程式一樣,當您將其與其他命令結合使用時,它的真正威力就變得顯而易見了。

rev命令是那些簡單的Linux實用程式之一,乍一看,似乎有些奇怪。它只執行一個函式:反轉字串。除了能夠列印快速幫助頁(-h)並顯示其版本號(-V),它不接受任何命令列選項。

所以,rev反轉字串,就這樣?沒有變化或選擇?嗯,是的,不是的。是的,它沒有排列,但不,這還不算全部。本教程將向您展示如何將其組合起來進行強大的操作。

當您在更復雜的命令序列中使用rev作為構建塊時,它真正開始顯示出它的價值。rev是一組作為促進者的命令(比如tac和yes)之一。當您看到它們如何更有效地使用其他命令時,更容易理解它們的有用性。

使用rev命令

在沒有其他引數的命令列上使用,rev接受任何鍵入的輸入,反轉它,然後在終端視窗中列印它。它一直這樣做,直到您按Ctrl+C退出。

rev

如何在linux上使用rev命令

如果您鍵入一些文字並按Enter鍵,它會使rev反向列印字串,當然,除非您為其提供迴文。

如何在linux上使用rev命令

將文字傳遞給rev

可以使用echo將文字透過管道傳輸到rev。

echo one two three | rev

如何在linux上使用rev命令

您還可以使用rev逐行反轉整個文字檔案的內容。在本例中,我們有一個包含檔名列表的檔案。檔名為“檔案列表.txt.”

rev filelist.txt

如何在linux上使用rev命令

每行從檔案中讀取,反轉,然後列印到終端視窗。

將rev與其他命令結合使用

下面是一個使用兩次呼叫rev的輸入管道的示例。

此命令從文字字串中去掉最後一個字元。這可能有助於刪除標點符號。我們需要使用剪下命令來剝離角色。

echo 'Remove punctuation.' | rev | cut -c 2- | rev

如何在linux上使用rev命令

我們把它分解一下。

  • echo將字串傳送到rev的第一個呼叫中。
  • rev反轉繩子並將其**切口。
  • c(characters)選項告訴cut從字串返回一個字元序列。
  • 2選項告訴cut返回從字元2到行尾的字元範圍。如果提供第二個數字,例如2-5,則範圍為2到5個字元。沒有第二個數字意味著“直到字串的結尾”
  • 反轉的字串減去它的第一個字元後被傳遞給rev,rev將反轉字串,這樣它就回到原來的順序。

因為我們刪掉了反轉字串的第一個字元,所以我們刪掉了原始字串的最後一個字元。是的,您可以用sed或awk來實現這一點,但這是一種更簡單的語法。

分隔最後一個單詞

我們可以使用類似的技巧來返回行的最後一個單詞。

該命令與上一個命令類似:再次使用rev兩次。不同之處在於剪下命令用於選擇部分文字的方式。

echo 'Separate the last word' | rev | cut -d' ' -f1 | rev

如何在linux上使用rev命令

以下是命令分解:

  • echo將字串傳送到rev的第一個呼叫中。
  • rev反轉繩子並將其**切口。
  • -d“”(分隔符)選項告訴cut返回由空格分隔的字元序列。
  • f1選項告訴cut返回不包含分隔符的字串的第一部分。也就是說,句子的第一部分到第一個空格。
  • 反轉後的第一個單詞被傳遞給rev,rev反轉字串,因此它返回到原來的順序。

因為我們提取了反向字串的第一個單詞,所以我們刪掉了原始字串的最後一個單詞。這句話的最後一個字是“word”,它是為我們打印出來的。

從檔案中修剪內容

假設我們有一個包含檔名列表的檔案,檔名用引號括起來。我們要刪除檔名中的引號。

讓我們看一下檔案:

less filelist.txt

如何在linux上使用rev命令

檔案的內容以較少的時間顯示給我們。

如何在linux上使用rev命令

我們可以用下面的命令刪除每行兩端的標點符號。此命令同時使用rev和cut兩次。

rev filelist.txt | cut -c 2- | rev | cut -c 2-

如何在linux上使用rev命令

為我們列出的檔名沒有引號。

如何在linux上使用rev命令

命令如下所示:

  • rev反轉檔案中的行,並將它們匯入到cut中。
  • c(characters)選項告訴cut從每行返回一個字元序列。
  • 2選項告訴cut返回從字元2到每行末尾的字元範圍。
  • 反轉的字串減去它們的第一個字元,被傳遞給rev。
  • rev反轉字串,使它們回到原來的順序。它們被第二次用管道輸送到切口。
  • c(characters)選項告訴cut從每個字串返回一個字元序列。
  • 2選項告訴cut返回從字元2到每行末尾的字元範圍。這個“跳過”前導引號,即每行一個字元。

很多管道

下面的命令返回當前目錄中每個副檔名的排序列表。它使用五個不同的Linux命令。

ls | rev | cut -d'.' -f1 | rev | sort | uniq

如何在linux上使用rev命令

過程很簡單:

  • ls列出當前目錄中的檔案。這些被輸送到rev。
  • rev反轉檔名並將它們匯入cut。
  • cut將每個檔名的第一部分返回到一個分隔符。-d“.”告訴cut使用句點“.”作為分隔符。第一個句點之前的反向檔名部分是副檔名。這些被輸送到rev。
  • rev將副檔名反轉為其原始順序。它們被輸送到不同的地方。
  • sort對副檔名進行排序,並將結果匯入uniq。
  • uniq為每種型別的唯一副檔名返回一個列表。注意,如果沒有副檔名(例如makefile、目錄Help和gc\u Help),則會列出整個檔名。

最後,將-c(count)命令列選項新增到uniq命令中。

ls | rev | cut -d'.' -f1 | rev | sort | uniq -c

如何在linux上使用rev命令

我們現在得到一個當前目錄中不同檔案型別的排序列表,每個檔案型別都有一個計數。

這是一個相當漂亮的一行!

drawrof og ot drawkcab gniog圖紙

有時你必須後退才能前進。作為一個團隊的一員,你通常前進得最快。

將rev新增到您的goto命令庫中,您很快就會使用它來簡化其他複雜的命令序列。

  • 發表於 2021-04-03 07:47
  • 閱讀 ( 50 )
  • 分類:網際網路

你可能感興趣的文章

像使用git的程式設計師一樣管理檔案版本控制

...交的第一步是“暫存”新的或更新的項。看看上面的輸出如何讓你知道有“未老化”的變化?您可以使用以下命令暫存目錄中的所有內容(遞迴,即包括子資料夾及其檔案): ...

  • 發佈於 2021-03-13 08:00
  • 閲讀 ( 40 )

如何在linux上安裝和使用powershell

... 在本文中,我將向您展示如何在Linux上安裝、執行和使用PowerShell! ...

  • 發佈於 2021-03-16 02:34
  • 閲讀 ( 53 )

如何在android和termux上使用linux命令列

...許您在Android裝置上安裝誠實善良的Linux應用程式。下面是如何使用Termux應用程式。 ...

  • 發佈於 2021-03-18 07:26
  • 閲讀 ( 63 )

如何在windows10上獲得linux bash shell

... 如何在windows10上安裝linux bash shell ...

  • 發佈於 2021-03-21 11:48
  • 閲讀 ( 60 )

linux下如何重新命名檔案

要在Linux中重新命名檔案嗎?如果您知道如何在Windows、macOS或Chrome作業系統中完成這項工作,那麼您就知道如何在這裡完成這項工作。在大多數版本的Linux上,您只需右鍵單擊一個檔案並選擇Rename選項。 ...

  • 發佈於 2021-03-22 02:48
  • 閲讀 ( 66 )

linux正在吃掉你的公羊嗎?如何管理你的記憶

...記憶體。為了理解到底發生了什麼,我們必須看看Linux是如何管理記憶體的。 ...

  • 發佈於 2021-03-23 08:31
  • 閲讀 ( 57 )

如何在linux上使用groupadd管理使用者組

... 相關:如何在Linux中更改密碼 ...

  • 發佈於 2021-03-26 17:15
  • 閲讀 ( 42 )

如何在linux中新增使用者

想在Linux系統上新增使用者但不知道如何新增?在Linux上使用命令列介面管理使用者無疑是一項複雜的工作。而對於初學者來說,即使新增新使用者也是一場噩夢。 ...

  • 發佈於 2021-03-26 23:29
  • 閲讀 ( 69 )

如何檢查linux核心和作業系統版本

...版本可以讓您對安全更新做出重要決定。我們將向您展示如何找到這些,無論您使用哪個發行版。 滾動和點釋放 你知道你在執行哪個版本的Linux嗎?你能找到核心版本嗎?Linux的滾動發行版,如Arch、Manjaro和openSUSE,經常使用自...

  • 發佈於 2021-04-01 13:11
  • 閲讀 ( 51 )

如何在linux上使用snap包

...盒中。 如果它們不是以通常的方式安裝的,那麼它們是如何處理的呢?嗯,單個包檔案被下載、解壓縮,並作為一個SquashFSvirtual檔案系統裝載。然後將它作為一個虛擬環境呈現給您。所有這些都發生在幕後。你所知道的只是你...

  • 發佈於 2021-04-02 12:19
  • 閲讀 ( 62 )
zql1985
zql1985

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦