linux可以匯出檔案內容嗎

2023-03-13 14:08:51

linux可以匯出檔案內容,在linux中可以用cat命令匯出檔案內容;cat命令常用來顯示檔案內容,或者將幾個檔案連線起來顯示,或者從標準輸入讀取內容並顯示,其使用語法是「cat [xuanxiang] [wenjian]」。

本教學操作環境:linux5.9.8系統、Dell G3電腦。

linux可以匯出檔案內容嗎?

可以。

Linux 中 用cat 輸出檔案內容

功能:把一個或者多個檔案(或者標準輸入)連線在一起,並標準輸出。(Concatenate FILE(s), or standard input, to standard output.)

cat命令常用來顯示檔案內容,或者將幾個檔案連線起來顯示,或者從標準輸入讀取內容並顯示。它常與重定向符號配合使用。cat是Concatenate的縮寫。

Linux 有三個特別檔案,分別
-標準輸入 即 STDIN , 在 /dev/stdin
一般指鍵盤輸入, shell裡代號是 0
-標準輸出 STDOUT, 在 /dev/stdout
一般指終端(terminal), 就是顯示器, shell裡代號是 1
-標準錯誤 STDERR, 在 /dev/stderr
也是指終端(terminal), 不同的是, 錯誤資訊送到這裡
shell裡代號是 2
語法:cat   [選項]   [檔案]
登入後複製
短選項長選項涵義
-A--show-all等於-vET
-b--number-nonblank對非空輸出行編號
-e 等於-vE
-E--show-ends在每行結束處顯示"$"
-n--number對輸出的所有行編號
-s--squeeze-blank不輸出多行空行
-t 與-vT 等價
-T--show-tabs將跳格字元顯示為^I
-v--show-nonprinting使用^ 和M- 參照,除了LFD和 TAB 之外
輸出檔案內容 

顯示檔案FILE的內容 cat FILE 

顯示檔案FILE的內容加上行號,需要加上引數-n。行號從1開始。使用-n引數時,所有空行也會顯示行號 cat -n FILE 

忽略掉空行,用-b cat -b FILE 

當遇到有連續兩行以上的空白行,就代換為一行的空白行,可以使用-s引數 cat -s FILE 
 儲存內容 

將標準輸入儲存到檔案FILE中,如果檔案已經存在,則覆蓋掉原來的 cat >FILE 

將標準輸入追加到檔案FILE末尾 cat >>FILE  
 合併檔案 
  
將兩個檔案FILE1和FILE2的內容合併為一個檔案FILE cat FILE1 FILE2 >FILE
登入後複製

cat 使用範例

從標準輸入建立檔案 
[root@web setup]# code>cat >1.txt 
Hello 
Bash 
Linux 
鍵盤(快捷鍵)Ctrl+D 儲存檔案 
 
[root@web setup]# ls -l 1.txt 
-rw-r--r-- 1 root root 17 11-02 21:32 1.txt 
[root@web setup]# cat 1.txt   顯示1.txt文字內容。標準輸出 
Hello 
Bash 
Linux 
[root@web setup]# cat <1.txt 
Hello 
Bash 
Linux 
[root@web setup]# 
 
 
 使用heredoc來生成檔案 
注意:粗體部分、here doc可以進行字串替換 
[root@web setup]# cat >2.txt <<EOF 
> Hello 
> Bash 
> Linux 
> PWD=$(pwd) 
> EOF 
 
[root@web setup]# ls -l 2.txt 
-rw-r--r-- 1 root root 33 11-02 21:35 2.txt 
[root@web setup]# cat 2.txt 
Hello 
Bash 
Linux 
PWD=/root/setup  
[root@web setup]# 
 
 
 輸出行號 
[root@web setup]# cat -n 1.txt 
     1  Hello 
     2  Bash 
     3  Linux 
[root@web setup]# nl 1.txt 
     1  Hello 
     2  Bash 
     3  Linux 
[root@web setup]# 
 
 
 在bash指令碼中把檔案內容載入到變數中 
[root@web ~]# TEXT=$(cat .bash_profile) 
[root@web ~]# 
[root@web ~]# echo "$TEXT" 
# .bash_profile 
 
# Get the aliases and functions 
if [ -f ~/.bashrc ]; then 
        . ~/.bashrc 
fi 
 
# User specific environment and startup programs 
 
PATH=$PATH:$HOME/bin 
 
export PATH 
unset USERNAME 
[root@web ~]#
登入後複製

heredoc檔案

在linux shell指令碼中我們經常見到類似於cat << EOF的語句,不熟悉的童鞋可能覺得很奇怪:EOF好像是檔案的結束符,用在這裡起到什麼作用?EOF是「end of file」,表示文字結束符。

<<EOF
(內容)
EOF

  • EOF在這裡沒有特殊的含義,你可以使用FOE或OOO等(當然也不限制在三個字元或大寫字元)。
  • 可以把EOF替換成其他東西,意思是把內容當作標準輸入傳給程
  • 結合這兩個標識,即可避免使用多行echo命令的方式,並實現多行輸出的結果。

接下來,簡單描述一下幾種常見的使用方式及其作用:

  • cat <<EOF,以EOF輸入字元為標準輸入開始
  • cat >filename,建立檔案,並把標準輸入輸出到filename檔案中,以ctrl+d作為輸入。
  • cat >filename <<EOF,以EOF作為輸入結束,和ctrl+d的作用一樣。
# cat >test.sh <<EOF
> #!/bin/bash
> #you Shell script writes here.
> EOF
登入後複製

其他寫法

1、追加檔案
# cat <<EOF >>test.sh

2、追加檔案,換一種寫法
# cat >>test.sh <<EOF

3、EOF只是標識,不是固定的。這裡的「HHH」就代替了「EOF」的功能。結果是相同的。
# cat <<HHH >iii.txt
> sdlkfjksl
> sdkjflk
> asdlfj
> HHH

4、非指令碼中。如果不是在指令碼中,我們可以用Ctrl+D輸出EOF的標識
# cat >iii.txt
skldjfklj
sdkfjkl
kljkljklj
kljlk
Ctrl+D

相關推薦:《》

以上就是linux可以匯出檔案內容嗎的詳細內容,更多請關注TW511.COM其它相關文章!