此脚本
#!/bin/bash
test="This is a test"
echo $test
test=`echo $test | sed -e 's/s/S/g'`
echo $test
htmlpage=`lynx "someurl.com/translate?text=${1}" -source .` #Gets the html page (crappy formatting : no newlines)
htmlpagewnl=`echo ${htmlpage} | sed -e 's/TRANSLATED_TEXT/\nTRANSLATED_TEXT/g' -e 's/;INPUT_TOOL_PATH/\n/g'` #Puts newlines only where I need (where is(are) the translated word(s))
line=`echo ${htmlpagewln} | sed -n '/TRANSLATED_TEXT='.*'/p'` #Gets the interesting line
word=`echo ${line} | sed -e 's/TRANSLATED_TEXT=//g' | tr -d "'"` #Gets the final translated word(s)
echo $word
应该输出用法语给出的翻译英语单词。 要做到这一点,我使用一个网站的html页面,并在其中找到翻译后的单词,知道如何制作这个html页面。
但是,它很好地输出了'测试'部分:
This is a test ThiS iS a teSt
并且:
/home/xxxxx/bin/Translate: line 9: sed : command not found
如果在第9行找不到,为什么在第5行找到它呢?
which
说sed
位于/bin
,而/bin
位于$PATH
,所以问题并非如此。
答案 0 :(得分:0)
感谢@glennjackman,od -c myscript
,我看到了一些302
& 240
个字符(非ASCII),这就是问题:)我只是不明白这些字符是如何出现的...无论如何,非常感谢你。