所以我正在開發一個簡單的地址簿,它很好。 它使用單個文本文件來存儲其所有信息。搜索一個字符串,輸出到一個數組,然後根據用戶輸入刪除它
在一分鐘我可以搜索文件的特定字符串,而不是問題。
我敢肯定,我可以根據用戶輸入刪除一個字符串,這很容易,但我認爲是額外的時髦,它將是一個整潔的想法,如果我可以抓住搜索詞的輸出 - 多行輸出說 - 並將每個新行存儲到一個數組,每個分配一個數字。 從那裏用戶可以指定他們想要根據他們的輸入刪除該行。
到目前爲止,這是「刪除」腳本:
ADDRESSBOOK=~/Documents/Address-Book/add_data.txt
export ADDRESSBOOK
echo "=============================== Delete a Record ==============================="
echo "==============================================================================="
echo "============ Search A Record, then delete it! Type 'exit' to exit ============="
exit=0
search(){
while [ $exit -ne 1 ]
do
echo "Find something for me to delete"
echo -n "-----------------------> "
read searchTerm
if [ "$searchTerm" = "exit" ]
then
exit=1
else
searchOutput=$(grep $searchTerm*.$ $ADDRESSBOOK | sort)
echo "$searchOutput"
fi
done
exit 0
}
search
地址簿自動將每個記錄與/ N所以無論如何顯示在新行的每個記錄。
是否可以接受$ searchRecord變量並將其傳遞給數組?
而在我圍繞着陣列環繞我的頭之前,這是甚至是我想要做的最好的方法嗎?
目前我正在試圖沿着
if [ "$searchTerm" = "exit" ]
then
exit=1
else
searchOutput=$(grep $searchTerm*.$ $ADDRESSBOOK | sort)
echo {$searchOutput[*] '/n' }
fi
的「/ N」線的東西是嘗試並獲得記錄每出現在一個新的生產線。任何建議傢伙?
我會用''\ n'',這是ASCII新線的適當的代表開始。 – Rubens