導航:首頁 > 程序命令 > linux大小寫轉換命令

linux大小寫轉換命令

發布時間:2022-08-09 19:38:31

linux,編寫shell程序,將一個文件名作為程序的參數,把該文件中的英文字母全部轉換成大寫字母

如果沒有指定命令行參數,則直接退出。

如果指定了命令行參數,就把該文件的英文字母轉化為大寫保存在.caps文件中。支持同時多個參數。

代碼如下。

#!/bin/bash
if[$#-eq0]
then
exit0
fi
upper(){
tr'[a-z]''[A-Z]'<$1>$1".caps"
}
forfilein$*
do
upper$file
done

㈡ Linux中vi操作和NULL原型的問題

vim中大小寫轉化的命令是
gu或者gU
形象一點的解釋就是小u意味著轉為小寫;大U意味著轉為大寫.

剩下的就是對這兩個命令的限定(限定操作的行,字母,單詞)等等

1、整篇文章大寫轉化為小寫
打開文件後,無須進入命令行模式。鍵入:ggguG

解釋一下:ggguG分作三段gg gu G
gg=游標到文件第一個字元
gu=把選定范圍全部小寫
G=到文件結束
2、整篇文章小寫轉化為大寫
打開文件後,無須進入命令行模式。鍵入:gggUG

解釋一下:gggUG分作三段gg gU G
gg=游標到文件第一個字元
gU=把選定范圍全部大寫
G=到文件結束
3、只轉化某個單詞
guw 、gue
gUw、gUe
這樣,游標後面的單詞便會進行大小寫轉換
想轉換5個單詞的命令如下:
gu5w、gu5e
gU5w、gU5e
4、轉換幾行的大小寫
將游標定位到想轉換的行上,鍵入:1gU 從游標所在行 往下一行都進行小寫到大寫的轉換
10gU,則進行11行小寫到大寫的轉換
以此類推,就出現其他的大小寫轉換命令
gU0 :從游標所在位置到行首,都變為大寫
gU$ :從游標所在位置到行尾,都變為大寫
gUG :從游標所在位置到文章最後一個字元,都變為大寫
gU1G :從游標所在位置到文章第一個字元,都變為大寫

第2個問題幫不上你, 分能給一半么?? 呵呵

㈢ linux tr 大小寫轉換後查看原文本無變化 新學Linux 求大神指教

tr 命令定義:從標准輸入刪除或替換字元,並將結果寫入標准輸出。
根據定義:(1)tr命令並不能對文件內容進行直接處理,所以僅tr命令不能修改文件內容;(2)文件內容要用tr處理,就需要作為tr的標准輸入。你的命令里用的echo |或者 < 或者 cat |都是這個作用,就是把文件內容輸出到標准輸出並作為tr的標准輸入,所以tr處理的僅僅是標准輸出上的內容,並不是文件本身,所以文件內容不會改變;(3)tr處理後的內容是「寫入標准輸出」的,並沒有寫入源文件,所以需要其他命令把輸出再寫到某個文件,如輸出重定向符>,可以把輸出到標准輸出上的內容重定向輸出到某個文件,如「cat qwer | tr [a-z] [A-Z] >qwer2.txt」

㈣ linux 輸入法大小寫如何轉換

shift+「」 大寫
「」 小寫

或CapsLock鍵

你是要這個么

㈤ Linux中批量把文件名大小寫轉換

linux中批量把文件名大小寫轉換一哥們從現場打來急電說現在有一個目錄,目錄下有上千個文件,現在需要把文件名由小寫全部轉化為大寫。首先不能寫腳本,那樣的話還要教他用vi,
改許可權,只能用命令了。字元轉換嘛,當然想到的是
tr

www.dnjsb.com
for
file
in
*
;do
mv
$file
`echo
$file
|
tr
'a-z'
'A-Z'`;done過了一會兒這哥們又打電話說,擴展名不要改為大寫的,保留為小寫就行了。這樣明顯分段的事情當然要交給
awk
了:
for
file
in
*;do
mv
$file
`echo
$file
|
awk
-F
.
'{print
toupper($1).$2}'
`;done這樣是可以把類似
a.txt
的文件修改了,但有多個擴展名的就沒招了,比如
b.tar.gz,還好
awk
支持變數:
www.dnjsb.com
for
file
in
*;do
mv
$file
`echo
$file
|awk
-F
.
'
{
for
(i
=
1;
i
<=
NF;i++)
if
(i
==
1)
result
=
toupper($i);
else
result
+=
.$i;
print
$result;
}'
`;done但結果是錯的,一個文件名也沒有改變,查了下說gawk才支持toupper,
tolower,換成gawk
還是不對。最後沒辦法只好找個折衷的方法,先全部轉化為大寫,然後再將擴展名轉回小寫:for
file
in
*;
www.dnjsb.com
do
mv
$file
`echo
$file
|
sed
-e
s//.TXT//.txt/g
`;done但是/.並沒有被轉義成.,
而依然是代表任意字元,這樣的話如果basename中含有擴展名就悲劇了。
試了幾下發現這樣才是轉義的:
sed
-e
s/[.]TXT/.txt/g
`;ok.

閱讀全文

與linux大小寫轉換命令相關的資料

熱點內容
app怎麼交付 瀏覽:341
圖蟲app怎麼才能轉到金幣 瀏覽:173
如何做徵文app 瀏覽:444
用什麼app管理斐訊 瀏覽:167
安卓如何下載寶可夢劍盾 瀏覽:164
編譯器開發屬於哪個方向 瀏覽:938
megawin單片機 瀏覽:685
以色列加密貨幣監督 瀏覽:907
程序員前端現在怎麼樣 瀏覽:497
伺服器和介面地址ping不通 瀏覽:555
linux命令返回上級目錄 瀏覽:897
移動花卡寶藏版為什麼不能選免流app 瀏覽:255
速騰carplay怎麼用安卓 瀏覽:13
紅塔銀行app怎麼樣 瀏覽:564
農行app怎麼開網銀 瀏覽:651
java迭代器遍歷 瀏覽:303
閩政通無法請求伺服器是什麼 瀏覽:48
怎麼做積木解壓神器 瀏覽:205
王者榮耀解壓玩具抽獎 瀏覽:49
12位是由啥加密的 瀏覽:872