一、Shell寫文件內容
在Shell中,可以使用echo將內容輸出到終端。如果需要將內容輸出到文件中,可以將echo和重定向符號「>」組合使用,將內容輸出到文件中。如下所示:
echo "Hello World!" > test.txt
上述代碼將字元串「Hello World!」寫入test.txt文件中。如果需要將多行內容寫入同一文件,可以使用echo和追加重定向符號「>>」。
echo "first line" > test.txt echo "second line" >> test.txt echo "third line" >> test.txt
上述代碼首先將字元串「first line」寫入test.txt文件中,然後使用追加符號「>>」將「second line」和「third line」分別附加到文件末尾。
二、Shell寫文件換行
在Shell中,可以使用echo命令結合轉義符「\n」實現寫文件時的換行。如下所示:
echo -e "first line\nsecond line" > test.txt
上述代碼中,使用-e選項開啟了轉義符的解析功能,字元串中的「\n」會被解釋成換行符。
三、Shell寫文件指定字符集
在Shell中,可以使用iconv命令進行字符集轉換,以在寫文件時指定字符集。如下所示:
echo "中文" | iconv -f utf8 -t gb2312 > test.txt
上述代碼將utf8字符集的「中文」轉換為gb2312字符集並寫入test.txt文件中。
四、Shell寫文件命令
在Shell中,除了echo和重定向符號「>」之外,還可以使用cat命令將文件內容寫入指定文件。如下所示:
cat > test.txt This is a test document Ctrl+d
上述代碼使用cat命令輸出一行「This is a test document」到終端,Ctrl+d表示結束輸入。cat將終端上的輸入重定向到test.txt文件中。
五、Shell寫文件左對齊
使用printf命令可以控制輸出的格式,進而實現左對齊等效果。如下所示:
printf "%-10s %-10s %-10s\n" "Name" "Age" "Gender" > test.txt
上述代碼使用printf格式化輸出三列表頭信息,並將其左對齊後寫入test.txt文件中。%-10s表示左對齊,佔用10個字元的位置。
六、Shell寫文件保留空格
默認情況下,echo會忽略字元串中的多餘空格。如果需要保留空格,可以使用引號將字元串括起來,或者使用printf命令。如下所示:
echo " This is a test" > test.txt printf " %s\n" "This is a test" > test.txt
上述代碼中,第一行使用echo忽略多餘空格,第二行使用printf命令將空格保留,並寫入test.txt文件中。
七、Shell寫文件 gb2312
如果需要將數據以gb2312編碼寫入文件,可以使用iconv命令進行字符集轉換。如下所示:
echo "中文" | iconv -f utf8 -t gb2312 > test.txt
上述代碼將utf8字符集的「中文」轉換為gb2312字符集並寫入test.txt文件中。
八、Shell寫文件到csv不同表
使用printf命令將數據格式化為csv文件的不同表部分。如下所示:
printf "%-10s,%-10s,%-10s\n" "Name" "Age" "Gender" > test.csv printf "%-10s,%-10d,%-10s\n" "John" 25 "Male" >> test.csv printf "%-10s,%-10d,%-10s\n" "Lucy" 27 "Female" >> test.csv
上述代碼將姓名、年齡和性別分別格式化為csv文件中的三列,並將兩行數據依次寫入test.csv文件中。
九、Shell寫入內容到文件
除了使用重定向符號和cat命令寫文件外,還可以使用tee命令實現將同一串數據同時輸出到屏幕和文件中。如下所示:
echo "This is a test" | tee test.txt
上述代碼將字元串「This is a test」寫入test.txt文件中,並將其在屏幕上輸出。
原創文章,作者:EKEQA,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/329644.html