[英]Basic bash programming
如何在bash中編寫函數以執行以下任務:
計算名為myDir的目錄中.pdf文件的數量。
打印出名為data.txt的文件的第n行,其中n是存儲整數的變量。
運行腳本userinput.o,該腳本需要來自STDIN的數據。 但是,您必須從文件input.txt提供數據,而不是從終端提供數據。
比較兩個文件foo1.txt和foo2.txt的內容。 如果文件匹配,則打印“文件相似”。 如果不是,則打印“文件不同”。 。 禁止所有其他輸出。
使用gcc編譯器編譯Windows8.c文件,並將STDERR和STDOUT都重定向到文件compile.out。
這是我的代碼:
function part_a
{
return
}
function part_b
{
return
}
function part_c
{
"input.txt">>"userinput.o"
return
}
function part_d
{
diff foo1.txt foo2.txt
if (( $? != 0 ))
then
echo " Files are different. "
else
echo " Files are similar. "
return
}
function part_e
{
gcc "windows8.c" -o quick_sim
make &> compile.out
return
}
# To test your function, you can call it below like this:
part_c
part_d
謝謝 :)
計算名為myDir的目錄中.pdf文件的數量。
val=`find myDir -type f -name '*.pdf'|wc -l`
計數將保存在val
文件中。
打印出名為data.txt的文件的第n行,其中n是存儲整數的變量。
awk -v line_no=$lineno 'NR==line_no' data.txt
其中lineno
是您的變量
運行腳本userinput.o,該腳本需要來自STDIN的數據。 但是,您必須從文件input.txt提供數據,而不是從終端提供數據。
userinput.o < input.txt
比較兩個文件foo1.txt和foo2.txt的內容。 如果文件匹配,則打印“文件相似”。 如果不是,則打印“文件不同”。 。 禁止所有其他輸出。
diff -q foo1.txt foo2.txt >/dev/null && echo Files are similar || echo Files are differet
使用gcc編譯器編譯Windows8.c文件,並將STDERR和STDOUT都重定向到文件compile.out。
gcc windows8.c 2&1> compile.out
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.