溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux可不可以導出文件內(nèi)容

發(fā)布時間:2023-03-13 11:36:27 來源:億速云 閱讀:239 作者:iii 欄目:建站服務器

本篇內(nèi)容主要講解“l(fā)inux可不可以導出文件內(nèi)容”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“l(fā)inux可不可以導出文件內(nèi)容”吧!

linux可以導出文件內(nèi)容,在linux中可以用cat命令導出文件內(nèi)容;cat命令常用來顯示文件內(nèi)容,或者將幾個文件連接起來顯示,或者從標準輸入讀取內(nèi)容并顯示,其使用語法是“cat [xuanxiang] [wenjian]”。

Linux 中 用cat 輸出文件內(nèi)容

功能:把一個或者多個文件(或者標準輸入)連接在一起,并標準輸出。(Concatenate FILE(s), or standard input, to standard output.)

cat命令常用來顯示文件內(nèi)容,或者將幾個文件連接起來顯示,或者從標準輸入讀取內(nèi)容并顯示。它常與重定向符號配合使用。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在每行結(jié)束處顯示"$"
-n--number對輸出的所有行編號
-s--squeeze-blank不輸出多行空行
-t
與-vT 等價
-T--show-tabs將跳格字符顯示為^I
-v--show-nonprinting使用^ 和M- 引用,除了LFD和 TAB 之外
輸出文件內(nèi)容 

顯示文件FILE的內(nèi)容 cat FILE

顯示文件FILE的內(nèi)容加上行號,需要加上參數(shù)-n。行號從1開始。使用-n參數(shù)時,所有空行也會顯示行號 cat -n FILE

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

當遇到有連續(xù)兩行以上的空白行,就代換為一行的空白行,可以使用-s參數(shù) cat -s FILE
保存內(nèi)容

將標準輸入保存到文件FILE中,如果文件已經(jīng)存在,則覆蓋掉原來的 cat >FILE

將標準輸入追加到文件FILE末尾 cat >>FILE  
合并文件
 
將兩個文件FILE1和FILE2的內(nèi)容合并為一個文件FILE cat FILE1 FILE2 >FILE

undefined

cat 使用實例

從標準輸入創(chuàng)建文件 
[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文本內(nèi)容。標準輸出
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腳本中把文件內(nèi)容加載到變量中
[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腳本中我們經(jīng)常見到類似于cat << EOF的語句,不熟悉的童鞋可能覺得很奇怪:EOF好像是文件的結(jié)束符,用在這里起到什么作用?EOF是“end of file”,表示文本結(jié)束符。

<<EOF
(內(nèi)容)
EOF

  • EOF在這里沒有特殊的含義,你可以使用FOE或OOO等(當然也不限制在三個字符或大寫字符)。

  • 可以把EOF替換成其他東西,意思是把內(nèi)容當作標準輸入傳給程

  • 結(jié)合這兩個標識,即可避免使用多行echo命令的方式,并實現(xiàn)多行輸出的結(jié)果。

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

  • cat <<EOF,以EOF輸入字符為標準輸入開始

  • cat >filename,創(chuàng)建文件,并把標準輸入輸出到filename文件中,以ctrl+d作為輸入。

  • cat >filename <<EOF,以EOF作為輸入結(jié)束,和ctrl+d的作用一樣。

# cat >test.sh <<EOF
> #!/bin/bash
> #you Shell script writes here.
> EOF

undefined

其他寫法

1、追加文件
# cat <<EOF >>test.sh

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

3、EOF只是標識,不是固定的。這里的“HHH”就代替了“EOF”的功能。結(jié)果是相同的。
# cat <<HHH >iii.txt
> sdlkfjksl
> sdkjflk
> asdlfj
> HHH

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

到此,相信大家對“l(fā)inux可不可以導出文件內(nèi)容”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI