偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

在 Linux 命令行中轉(zhuǎn)換大小寫(xiě)

系統(tǒng) Linux
有很多方法可以在 Linux 命令行中將文本從小寫(xiě)更改為大寫(xiě),反之亦然。實(shí)際上,有一組這樣的命令可以選擇。這篇文章檢驗(yàn)了一些優(yōu)秀的命令來(lái)完成這項(xiàng)工作,以及你該如何讓它們正常工作。

有很多方法可以在 Linux 命令行中將文本從小寫(xiě)更改為大寫(xiě),反之亦然。實(shí)際上,有一組這樣的命令可以選擇。這篇文章檢驗(yàn)了一些優(yōu)秀的命令來(lái)完成這項(xiàng)工作,以及你該如何讓它們正常工作。

[[318152]]

使用 tr

tr(translate)命令是在命令行或腳本中最容易使用的命令之一。如果你要確定要一串大寫(xiě)字符串,你只需將它傳給 tr,如下所示:

  1. $ echo Hello There | tr [:lower:] [:upper:] 
  2. HELLO THERE 

下面是一個(gè)在腳本中使用這個(gè)命令的例子,當(dāng)你要確保添加到文件中的所有文本都使用大寫(xiě)形式以保持一致性時(shí)(LCTT 譯注:這里輸入部門(mén)名稱(chēng)作為示例):

  1. #!/bin/bash 
  2.  
  3. echo -n "Enter department name: " 
  4. read dept 
  5. echo $dept | tr [:lower:] [:upper:] >> depts 

將順序切換為 [:upper:] [:lower:] 會(huì)產(chǎn)生相反的效果,將所有大寫(xiě)的部門(mén)名稱(chēng)都轉(zhuǎn)換為小寫(xiě):

  1. echo $dept | tr [:upper:] [:lower:] >> depts 

同樣,你可以使用 sed 命令的 A-Z 和 a-z 字符串完成相同的操作:

  1. echo $dept | tr a-z A-Z >> depts 

毫無(wú)疑問(wèn),反轉(zhuǎn) a-z 和 A-Z 字符串的順序?qū)a(chǎn)生相反的效果,將文本全部變?yōu)樾?xiě)。

使用 awk

awk 命令可讓你使用它的 toupper 和 tolower 選項(xiàng)執(zhí)行相同的操作。上例腳本中的命令可以用這種方式代替:

  1. echo $dept | awk '{print toupper($0)}' >> depts 

相反操作(切換為小寫(xiě))如下所示:

  1. echo $dept | awk '{print tolower($0)}' >> depts 

使用 sed

sed(stream editor)命令也可用于切換大小寫(xiě)。它與上面顯示的兩個(gè)命令中的第一個(gè)具有相同的效果。

  1. echo $dept | sed 's/[a-z]/\U&/g' >> depts 

從大寫(xiě)字母切換到小寫(xiě)字母只需將行尾附近的 U 替換為 L。

  1. echo $dept | sed 's/[A-Z]/\L&/g' >> depts 

操作文件中的文本

awk 和 sed 都能更改整個(gè)文件的文本大小寫(xiě)。因此,你發(fā)現(xiàn)你的老板需要所有部門(mén)名稱(chēng)的小寫(xiě)么?沒(méi)問(wèn)題。只需帶上文件名運(yùn)行以下命令:

  1. $ awk '{print tolower($0)}' depts 
  2. finance 
  3. billing 
  4. bookkeeping 

如果要覆蓋 depts 文件,而不僅僅是以小寫(xiě)形式顯示,則需要執(zhí)行以下操作:

  1. $ awk '{print tolower($0)}' depts > depts- 
  2. $ mv depts- depts 

但是,使用 sed 進(jìn)行更改,你可以避免最后一步,因?yàn)?sed 可以“原地”編輯文件,如下所示,文件完整,但文本全部小寫(xiě):

  1. $ sed 's/[A-Z]/\L&/g' depts 

僅將首字母轉(zhuǎn)換為大寫(xiě)

要僅將字符串中單詞的首字母轉(zhuǎn)換為大寫(xiě),那么可以執(zhí)行以下操作:

  1. $ echo design \& engineering| sed -e "s/\b\(.\)/\\u\1/g" 
  2. Design & Engineering 

該命令將確保首字母大寫(xiě),但不會(huì)更改其余字母。

確保只有首字母大寫(xiě)

當(dāng)要更改文本以使只有首字母大寫(xiě)時(shí),這更具挑戰(zhàn)性。假設(shè)你正在處理一個(gè)工作人員姓名列表,并且希望以正常的“名 姓”方式對(duì)其格式化。

1. 使用 sed

你可以使用更復(fù)雜的 sed 命令來(lái)確保以下結(jié)果:

  1. $ echo design \& ENGINEERING | sed 's/\b\([[:alpha:]]\)\([[:alpha:]]*\)\b/\\u\1\L\2/g' 
  2. Design & Engineering 

2. 使用 Python

如果你已安裝 Python,你可以運(yùn)行這樣的命令,它還可以設(shè)置文本格式,以便每個(gè)單詞只有首字母大寫(xiě),并且它可能比上面顯示的 sed 命令更易于解析:

  1. $ echo -n "design & engineering" | python3 -c "import sys; print(sys.stdin.read().title())" 
  2. Design & Engineering 

有多種方法可以在大小寫(xiě)之間更改文本格式。哪種方法效果最好取決于你要處理的是單個(gè)字符串還是整個(gè)文件,以及想要的最終結(jié)果。

 

 

責(zé)任編輯:趙寧寧 來(lái)源: 今日頭條
相關(guān)推薦

2020-10-15 17:55:37

Linux命令行大小寫(xiě)轉(zhuǎn)換

2020-10-14 07:46:46

Linux大小寫(xiě)轉(zhuǎn)換

2009-06-21 13:44:21

LinuxTr大小寫(xiě)轉(zhuǎn)換

2010-03-25 10:39:26

Python代碼

2010-10-11 15:47:46

MySQL字符串大小寫(xiě)

2021-07-15 13:32:12

Linux生成密碼

2021-07-15 13:25:43

LinuxPDF

2014-09-11 10:33:06

Linux

2021-07-12 14:53:27

LinuxGmail電子郵件

2019-05-21 10:38:17

Linux命令行

2010-11-25 16:09:58

mysql查詢(xún)大小寫(xiě)

2010-05-26 15:24:09

MySQL字符串

2010-09-01 14:23:54

Linux命令行開(kāi)發(fā)

2009-12-24 14:51:39

Linux命令行

2023-03-08 15:38:56

Linux命令dict

2022-10-25 13:01:36

Linux命令行空目錄

2018-11-05 13:50:44

Linux命令tcpdump

2022-10-18 10:00:09

Linuxtcpdump命令

2023-03-28 08:40:22

命令行JSON用法

2009-12-23 14:14:09

Linux高級(jí)命令行
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)