0

我必须在 android shell 中编辑文本文件。

所以我输入了这个 shell 脚本。

但我的 Galaxy Nexus 没有 Sed,Awk 也没有。

shell@android:/ $ sed -e "s/old_pattern/new_pattern/g" file_name > modify_file
/system/bin/sh: sed: not found

它不起作用。

我如何修改old_patternnew_pattern文本文件。

在 Shell 脚本中可以吗?

编辑的外壳脚本

#!/system/bin/sh
ARGS=4
BAD=65

if [ $# -ne "$ARGS" ]
then
    echo "Usage: `basename $0` TARGET_FILE,OLD_PATTERN,NEW_PATTERN,MODIFY_FILE"
    exit $BAD
fi

old_pattern=$2
new_pattern=$3
modify_file=$4

if [ -f "$1" ]
then
    target_file=$1
else
    echo "\"$3\" Does not exist."
    exit $BAD
fi

exit 0

解决方案 :

shell@android:/ $ while read STRING
>do
>echo "${STRING//old_pattern/new_pattern}" >> modify_file_name
>done < target_file_name
shell@android:/ $ 
4

1 回答 1

1

pure 可以bash,但是在大文件上会很慢。

while read STRING
do
    echo "${STRING//old_pattern/new_pattern}" >> modify_file
done < file_name

附言。哦,我刚刚提到你的外壳不是bash. 好像只是sh。那将无法与sh.

于 2012-07-03T08:25:40.157 回答