㈠ shell下 怎麼用位元組填充文件 ,比如 文件A的大小為0.5M ,我想填充到1M,怎麼用腳本實現
如果對填充的內容沒有特別要求,只是把文件A的大小變大一倍,可以這么做:
在A所在目錄下回編輯一個腳本文答件,可命名為doit.sh,填入以下內容:
#! /bin/sh
cat A A > B
mv B A
shell 下,為doit.sh增加可執行屬性:
% chmod +x doit.sh
然後執行該腳本:
% ./doit.sh
通常就可以了。試試看。
㈡ bash shell 腳本如何將字元串寫入到文件中
剛學完新書《實用linux
Shell編程》,寫的不錯,容易懂,網上和書店都有賣。
現在試著回答,僅供參考,謝謝。
1)先保證文件內容正確:
$
cat
1.txt
MYNAME=Liu_Dehua
$
cat
2.txt
name
Liang_Chaowei
2)文件1文件2隻有唯一字元串,所以情況相對簡單。腳本寫好了,別忘了給腳本增加執行許可權
$
cat
build.sh
#!/bin/bash
str1=$(cat
1.txt)
echo
${str1%%=*}=$(cat
2.txt
|
awk
'{print
$2}')
|
tee
1_new.txt
3)運行腳本:
$
./build.sh
MYNAME=Liang_Chaowei
然後看看新產生的文件,Liang_Chaowei替換了文件1中的Liu_Dehua
$
cat
1_new.txt
MYNAME=Liang_Chaowei
以上在都上機通過了。僅供參考,謝謝。
㈢ 除了echo以外還有可以寫入文件的操作嗎 shell腳本
EOF可以結合cat命令對內容抄進行追加。比如:執行腳本的時候,需要往一個文件里自動輸入多行內容。如果是少數的幾行內容,可以用echo命令追加,但如果是很多行,那麼單純用echo追加的方式就不太適合了。一起學習linux
1.語法格式:
<<EOF//開始....
EOF//結束
PS:EOF不是固定的,可以自定義其他,但需注意,結束符和起始符要保持一致
2.重定向符號:
<:輸入重定向>:輸出重定向>>:輸出重定向,追加,不覆蓋之前內容<<:標准輸入來自命令行的一對分隔號的中間內容.
3.案例:
1)向eof.txt文件中寫入內容(將EOF的輸出作為cat命令的輸入)
#輸入內容到文件,如果文件有內容不覆蓋,追加
[root@VM_0_10_centosshellScript]#cat<<EOF>>eof.txt
>12345>56789>EOF
㈣ shell腳本執行結果寫入到指定日誌文件中
在重定復向之制前先保存標准輸入:
exec 5>&1
exec 1>>file.log
exec 2>>file.log
....
....
echo "exec failed,please check file.log! " >&5
㈤ linux在shell下如何將字元串寫入文件
可以使用echo命令將文本流導向標准輸出,然後再使用>符號重新定向標准輸出到文件。x0dx0a用法示例:x0dx0a將字元串"hello world"寫入文埋指宴件file.txt中x0dx0a$ echo "hello world" > file.txtx0dx0a然後逗啟再嘗試用cat命令從讀取文件並寫入到標准輸出,可以看到字彎銀符串已經成功寫入文件。x0dx0a$ cat file.txt
㈥ shell腳本創建文件並寫入內容
一、cat和EOF
cat命令是linux下的一個文本輸出命令,通常是用於觀看某個文件的內容的;
EOF是「end of file」,表示文本結束符。
結合這兩個標識,即可避免使用多行echo命令的方式,並實現多行輸出的結果。
二、使用
看例子是最快的熟悉方法:
# cat << EOF > test.sh
> #!/bin/bash
> #you Shell script writes here.
> EOF
結果:
引用
# cat test.sh
#!/bin/bash
#you Shell script writes here.
可以看到,test.sh的內容就是cat生成的內容。
㈦ 如何用Shell腳本往文本文件里寫入一些字元串
用echo+重定向。> 生成一個空文件,向內寫入,>>追加寫入:echo"firstline">output.txt;echo"secondline">>output.txt。
拓展:
1、Shell Script ,Shell腳本與Windows/Dos下的批處理相似,也就是用各類命令預先放入到一個文件中,方便一次性執行的一個程序文件,主要是方便管理員進行設置或者管理用的。但是它比Windows下的批處理更強大,比用其他編程程序編輯的程序效率更高,它使用了Linux/Unix下的命令。
2、換一種說法也就是,shell script是利用shell的功能所寫的一個程序,這個程序是使用純文本文件,將一些shell的語法與指令寫在裡面,然後用正規表示法,管道命令以及數據流重導向等功能,以達到我們所想要的處理目的。更明白地來說,shell script就像早期dos年代的.bat,最簡單的功能就是將許多指令匯整寫一起,讓使用者很容易地就能夠一個操作執行多個命令,而shell script更是提供了數組,循環,條件以及邏輯判斷等重要功能,讓使用者可以直接以shell來寫程序,而不必使用類似C程序語言等傳統程序編寫的語法。
㈧ 怎麼通過shell命令 向二進制文件末尾添加位元組
最近需要在一個二進制文件的前面添加一個header, 網路上大體搜索了一下, 沒有得到答案。於是自己找到一個辦法, 有點土,但是能用。放在這里,供參考。
如下就是我的腳本:
#!/bin/sh
output=obm.bin
rm $output
#firstly generate a header
header=0x0008ffbb
header1=`expr substr $header 9 2`
header2=`expr substr $header 7 2`
header3=`expr substr $header 5 2`
header4=`expr substr $header 3 2`
echo -n -e "/x${header1}" > $output
echo -n -e "/x${header2}" >> $output
echo -n -e "/x${header3}" >> $output
echo -n -e "/x${header4}" >> $output
#now add obm.bin
cat ../build/$output >> $output
說明:利用echo 的擴展功能, 可以一次往一個二進制文件輸入一位或者兩位 16進制數字。 我們把需要輸入的 header 分解出來, 分別輸出到二進制文件, 從而達到目的。