我如何从linux中的基本行中获取特定的单词

时间:2013-11-29 15:02:48

标签: linux shell unix

假设我有一行脚本: 脚本名称script1.sh位于其下方 -

# sh script.sh #

那么我怎么能只从script1.sh中获取 script.sh 名称。

我所做的就是下面的内容,但这并不能让我获得我想要的确切输出。

while read line
do

    called_script= awk -F ':' '{print $1 }' final_calling_script_name

    qwe= grep '*.sh' $called_script

    echo $called_script " :  $qwe"

    done<'file_that_contains_data_of_script1_line_by_line'

有人能帮助我吗?

2 个答案:

答案 0 :(得分:1)

如果您在这里想要的基本上是“第二个字”,您可以使用“剪切”

echo "sh script.sh" | cut -d ' ' -f 2

-d''告诉剪切“分隔符”是一个空格,-f 2告诉剪切你想要第2列。

答案 1 :(得分:0)

echo "sh script.sh" | { read a b; echo "$b"; }

编辑:

在您在下面的注释中阐明了您的要求之后,我会建议这个命令:

echo "script1.ksh script2.pig script3.sh" | grep -oe '\w*\.sh'