cat 不能輸出的中文的原因主要在於終端本身設置,你看亂碼,說明終端使用了錯誤的字元集解釋字元,所以才會出現亂碼。比如你使用了windows提供那個telnet登錄到Linux中,那麼肯定顯示就是亂碼,因為Linux使用字元集是UTF-8。
解決方法:windows登錄Linux,包含開發板、還有PC之類的,推薦使用Putty。如果是Linux是自己,那麼在終端菜單裡面設置一下字元。
② linux cat >> 命令
cat 命令用於連接文件並列印到標准輸出設備上。cat是concatenate的簡寫,類似於dos下面的type命令,使用許可權為所有使用者。
cat file1 >> file2的意思是把 file1 的文檔內容輸入file2 這個文檔里。
(2)cat命令列印第二列擴展閱讀:
cat的語法格式:
cat [-AbeEnstTuv] [--help] [--version] fileName
參數說明:
-n 或 --number:由 1 開始對所有輸出的行數編號。
-b 或 --number-nonblank:和 -n 相似,只不過對於空白行不編號。
-s 或 --squeeze-blank:當遇到有連續兩行以上的空白行,就代換為一行的空白行。
-v 或 --show-nonprinting:使用 ^ 和 M- 符號,除了 LFD 和 TAB 之外。
-E 或 --show-ends: 在每行結束處顯示 $。
-T 或 --show-tabs: 將 TAB 字元顯示為 ^I。
-A, --show-all:等價於 -vET。
-e:等價於"-vE"選項;
-t:等價於"-vT"選項;
比如:
把 textfile1 的文檔內容加上行號後輸入 textfile2 這個文檔里:
cat -n textfile1 > textfile2
③ Matlab命令 cat
com=cat(2,'!md ',shot);
%%cat函數用於連接兩個矩陣或數組,第一個參數表示按第幾維進行連接,1表示第一維,即行向,也即垂直方向;2表示第二維,及列向,也即水平方向;示例如下:
>> com=cat(2,'!md ','shot')%%列向,即水平
com =
!md shot
>> com=cat(1,'!md ','shot')%%行向,即垂直
com =
!md
shot
shot=『aa』;
com=cat(2,'!md ',shot);
eval(com);
這段代碼執行後會新建一個文件夾,可能是因為'!md』這個字元串的關系,這個我也不怎麼清楚,樓主你在哪找的代碼。
希望對你有所幫助,有問題再說啊
④ linux下cat 命令使用詳解:顯示文件內容
cat命令的用途是連接文件或標准輸入並列印。這個命令常用來顯示文件內容,或者將幾個文件連接起來顯示,或者從標准輸入讀取內容並顯示,它常與重定向符號配合使用。
1.命令格式:
cat
[選項]
[文件]...
2.命令功能:
cat主要有三大功能:
1.一次顯示整個文件:cat
filename
2.從鍵盤創建一個文件:cat
>
filename
只能創建新文件,不能編輯已有文件.
3.將幾個文件合並為一個文件:cat
file1
file2
>
file
3.命令參數:
-A,
--show-all
等價於
-vET
-b,
--number-nonblank
對非空輸出行編號
-e
等價於
-vE
-E,
--show-ends
在每行結束處顯示
$
-n,
--number
對輸出的所有行編號,由1開始對所有輸出的行數編號
-s,
--squeeze-blank
有連續兩行以上的空白行,就代換為一行的空白行
-t
與
-vT
等價
-T,
--show-tabs
將跳格字元顯示為
^I
-u
(被忽略)
-v,
--show-nonprinting
使用
^
和
M-
引用,除了
LFD
和
TAB
之外
4.使用實例:
實例一:把
log2012.log
的文件內容加上行號後輸入
log2013.log
這個文件里
命令:
cat
-n
log2012.log
log2013.log
輸出:
代碼如下:
[root@localhost
test]#
cat
log2012.log
2012-01
2012-02
======[root@localhost
test]#
cat
log2013.log
2013-01
2013-02
2013-03
======[root@localhost
test]#
cat
-n
log2012.log
log2013.log
1
2012-01
2
2012-02
3
4
5
======
6
2013-01
7
2013-02
8
9
10
2013-03
11
======[root@localhost
test]#
說明:
實例二:把
log2012.log
和
log2013.log
的文件內容加上行號(空白行不加)之後將內容附加到
log.log
里。
命令:
cat
-b
log2012.log
log2013.log
log.log
輸出:
代碼如下:
[root@localhost
test]#
cat
-b
log2012.log
log2013.log
log.log
1
2012-01
2
2012-02
3
======
4
2013-01
5
2013-02
6
2013-03
7
======[root@localhost
test]#
實例三:把
log2012.log
的文件內容加上行號後輸入
log.log
這個文件里
命令:
輸出:
代碼如下:
[root@localhost
test]#
cat
log.log
[root@localhost
test]#
cat
-n
log2012.log
>
log.log
[root@localhost
test]#
cat
-n
log.log
1
2012-01
2
2012-02
3
4
5
======
[root@localhost
test]#
實例四:使用here
doc來生成文件
輸出:
代碼如下:
[root@localhost
test]#
cat
>log.txt
<
>
Hello
>
World
>
Linux
>
PWD=$(pwd)
>
EOF
[root@localhost
test]#
ls
-l
log.txt
-rw-r--r--
1
root
root
37
10-28
17:07
log.txt
[root@localhost
test]#
cat
log.txt
Hello
World
Linux
PWD=/opt/soft/test
[root@localhost
test]#
說明:
注意粗體部分,here
doc可以進行字元串替換。
備註:
tac
(反向列示)
命令:
tac
log.txt
輸出:
代碼如下:
[root@localhost
test]#
tac
log.txt
PWD=/opt/soft/test
Linux
World
Hello
tac
是將
cat
反寫過來,所以他的功能就跟
cat
相反,
cat
是由第一行到最後一行連續顯示在螢幕上,而
tac
則是由最後一行到第一行反向在螢幕上顯示出來!
⑤ cat是dos中的命令嗎
是linux中的命令.
cat命令的作用是即可以在文件後面追加文件,也可以在屏幕上打出文件內容,相當於DOS下的命令:COPY file1+file2與type命令.
⑥ linux cat命令什麼意思
cat命令是linux下的一個文本輸出命令,通常是用於觀看某個文件的內容的;
cat主要有三大功能:
1.一次顯示整個文件。
$ cat filename
2.從鍵盤創建一個文件。
$ cat > filename
只能創建新文件,不能編輯已有文件.
3.將幾個文件合並為一個文件。
$cat file1 file2 > file
cat具體命令格式為 : cat [-AbeEnstTuv] [--help] [--version] fileName
說明:把檔案串連接後傳到基本輸出(屏幕或加 > fileName 到另一個檔案)
參數:
-n 或 –number 由 1 開始對所有輸出的行數編號
-b 或 –number-nonblank 和 -n 相似,只不過對於空白行不編號
-s 或 –squeeze-blank 當遇到有連續兩行以上的空白行,就代換為一行的空白行
-v 或 –show-nonprinting
範例:
cat -n linuxfile1 > linuxfile2 把 linuxfile1 的檔案內容加上行號後輸入 linuxfile2 這個檔案里
cat -b linuxfile1 linuxfile2 >> linuxfile3 把 linuxfile1 和 linuxfile2 的檔案內容加上行號(空白行不加)之後將內容附加到linuxfile3 里。
範例:
把 linuxfile1 的檔案內容加上行號後輸入 linuxfile2 這個檔案里
cat -n linuxfile1 > linuxfile2
把 linuxfile1 和 linuxfile2 的檔案內容加上行號(空白行不加)之後將內容附加到 linuxfile3 里。
cat -b linuxfile1 linuxfile2 >> linuxfile3
cat /dev/null > /etc/test.txt 此為清空/etc/test.txt
⑦ 求大牛們圍觀 求解 關於Linux cat 命令的
這說明你還沒弄懂重定向符號 > 的作用
重定向並不是一定要cat的,所有一切有屏幕輸出的命令都可以重定向
讓我們來看看cat text1 和netstat的含義
cat text1的意思是把text1的內容列印出來,一般是列印到屏幕上,現在你加一個 > 變成 cat text1 > text2,意思就是告訴系統,我不想列印在屏幕上了,我想把內容列印到一個名叫 text2的文件里
nestat的意思就是把獲取系統進程和各自的埠號,並列印到屏幕上,它可能是這樣的形式
netstat -ano
如果你把netstat -ano 加一個 > 重向符的話,變成 netstat -ano > text2意思就是告訴系統,我不想把結果列印到屏幕上了,我想把結果列印到text2里
現在讓我們來看這兩個命令的比較
cat text1
netstat -ano
相同之處:它們都會在屏幕上列印出一些結果,同時它們都是這樣的格式
命令 參數
cat text1
nestat -ano
當然netstat可以不帶任何參數,但cat必須帶一個參數(文件名)
也就是說,它們都是 「一個命令 + 一個參數」 的格式(text1在這里作為cat的參數)
不同之處:
cat text1 的命令是cat
netstat -ano 的命令是netstat
這樣看明白了吧?不是只有cat 這個命令才能重定向的,只要任何一個有輸出列印到屏幕的命令都是可以重定向的,我舉幾個例子:
ls > text2
pwd > text2
dig www..com > text2
ping www.google.com > text2
我再重復一遍,不是只有cat才能重定向,而是所有有屏幕輸出的命令都可以帶一個重定向符號。
現在我們來看看你所說的cat netstat 是什麼結果
[root@rhel6x6401 ~]# cat netstat
cat: netstat: No such file or directory
[root@rhel6x6401 ~]#
在這里,cat把netstat這個「命令」當成了一個「文件」來處理,結果是顯而易見的,在當前目錄下,找不到這個文件,因為人家是一個命令,你卻把人家當成文件了,顯然是不對的。
⑧ sed或者cat命令怎樣列印指定行比如第2 4 5 行
sed-n'2p;4,5p'InputFile
n,m 表示 n 到m行,這里用 4p;5p 也行。
InputFile 是輸入文件
只用 cat 不能實現,倒是用 cut可以方便實現
cut-d$' '-f2,4-5hello.c
注意連續行用的是 4-5。
⑨ shell腳本中怎麼輸出第二列為指定內容的所有行的信息
寫個腳本,使用for循環,設一個變數i 代表的是行號,從1開始,然後每次執行加1,類似於
a=`cat file|wc -l`
for (( i = 0; i < = $a; i++ ))
do
j = `cat file |awk "NR==$i{print}"|awk '{print $2}'`
k =`cat file |awk "NR==$i{print}"`
if [[ j -eq xxx ]];
then echo $k
fi
done
沒有測 但是大概就是這么個意思
⑩ 有一個文本文件,想列印出第2列(使用空格分隔開)數字最大的那一行,如何寫shell 命令 例如文本
grep `cat a.txt|awk '{print $2}'|sort -nr|sed -n 1p` a.txt