1

尝试做一个 unix shell 脚本,该脚本从每行一个单词的文件中获取输入,找到以字母 s 结尾的任何单词并删除该字母。

Input:
Glass
Faces
Passed
Hello
Tests
Pass

Output
Glas
Face
Test
Pas 

我什至不介意输出是否仍然包含不以 s 结尾的单词。我可以使用它。

到目前为止我有

cat $1 | sed -e '/\s$/N; s/\(.*\)./\1/;'

但这会删除每个单词中的最后一个字母,而不仅仅是那些以 s 结尾的字母。

我是 unix 和一般编程的新手,必须承认语法对我来说仍然很难正确。任何帮助,将不胜感激。

4

1 回答 1

1

这将起作用:

sed -e '/s$/!d' -e 's/s$//'

或这个:

sed '/s$/!d;s/s$//'

或这个:

sed -n '/s$/{s/s$//;p;}'
于 2013-08-17T00:52:52.167 回答