myfile的内容:
123
**1
**
试图显示每个单词的脚本:
for i in $(cat $myfile)
do
echo "$i"
done
结果是when echo *
,它列出了我当前目录中的文件,我不知道为什么。所以我试图处理*
之前的回声。
另一个脚本的内容:
for i in $(cat $myfile)
do
if [[ $i == *\+ ]](regex pattern find 1 * or more.)
then
(?what should I do. I tried i="\*",i="*" etc.; it doesn't work)
fi
echo "$i"
done
文件名通配发生在for
-line上,扩展名为$(cat $myfile)
,而不是出现在echo
。
当遍历文件的内容时,请使用read
:
while IFS= read -r words; do
printf '%s\n' "$words"
done <"$myfile"
也可以看看:
如果要将每个空格分隔的单词放在自己的输出行中:
awk '{ for (i = 1; i <= NF; ++i) print $i }' "$myfile"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句