【发布时间】:2014-01-21 17:59:03
【问题描述】:
假设我有一个变量 $str1
str1="20140121-21:48:26|Joanne Frances|"
我想做的是在文件中搜索该部分。该文件包含,例如:
20140121-21:48:26|Joanne Frances|Perez|9173046751.000000|Mar 31|
20140121-21:50:28|Nikko|Real|9065887272.000000|Mar 21|
20140121-22:22:53|Czarina|Revilla|9999999999.000000|Jan 21|
输出应该是:
20140121-21:48:26|Joanne Frances|Perez|9173046751.000000|Mar 31|
我不知道这是否重要,但这是我使用 yad 的实际代码 sn-p:
selected=$(yad --title=Contacts --width=200 --height=200 \
--button=DISPLAY:2 --list \
--separator="|" --column=ID:NUM --column=List \
"${items[@]}" --hide-column=1 --button=ADD:10 )
req=$?
#BUTTON HANDLER:
if [ $req = 10 ]; then
formdata=$(yad --title="Add Contact" \
--form --field="FIRST NAME" --separator="|" \
--field="LAST NAME" \
--field="CONTACT #:NUM" \
--field="Birthday (Mon Day):DT" --date-format="%b %d" \
"" "" "!09000000000..09999999999!11."
)
echo "$contactid|$formdata" >> contactlist.txt
elif [ $req = 2 ]; then
grep "$selected" contactlist.txt #This is my problem
fi
它不输出任何东西
更新:
终于知道echo $selected 尝试的问题到底是什么,它输出20140121|Adrian Perez| 意味着它真的不在文件中。哈哈!我真是一团糟! -_-
【问题讨论】:
-
你考虑过
grep "$str1" file吗? -
不确定我要做什么,但我尝试了
grep "$selected" contactlist.txt,但它不起作用! @cnicutar -
@joanne_ 为什么在搜索字符串是 $str1 时使用 $selected?
-
@Trenin 哇!对不起这是我的错!这是我在代码中使用的变量,上面的代码只是一个例子!
-
@joanne_:请参阅 cnicutar 的评论。你试过 grep 吗?
标签: string bash shell search scripting