【问题标题】:Fetch the KSH NAME获取 KSH NAME
【发布时间】:2011-12-27 10:32:12
【问题描述】:
find `pwd` -type f -name "*.ksh" -exec grep -H ".ksh" '{}' \; -print 2>/dev/null

在执行这个命令时,结果是

/home/edwprod/Partner_com/bin/edw_etl_job_load.ksh:# Program Name :     edw_etl_job_load.ksh
/home/edwprod/Partner_com/bin/edw_etl_job_load.ksh
/home/edwprod/Partner_com/bin/exec_housekeep_main.ksh:# Program Name     :  exec_housekeep_main.ksh
/home/edwprod/Partner_com/bin/exec_housekeep_main.ksh:# Called program   :  exec_housekeep.ksh
/home/edwprod/Partner_com/bin/exec_housekeep_main.ksh:#!/bin/ksh
/home/edwprod/Partner_com/bin/exec_housekeep_main.ksh:    nohup ${SHELL_DIR}/exec_housekeep.ksh ${ROOT_ID} ${PLAN_ID} ${P_ACTION} ${LVL} &
/home/edwprod/Partner_com/bin/exec_housekeep_main.ksh
/home/edwprod/Partner_com/bin/retrive_pwd_edw.ksh:#        echo "  USAGE=> filename.ksh appl_schema"
/home/edwprod/Partner_com/bin/retrive_pwd_edw.ksh
/home/edwprod/Partner_com/bin/exec_pr_truncate_hkp.ksh:# Program Name     :  exec_pr_truncate_hkp.ksh
/home/edwprod/Partner_com/bin/exec_pr_truncate_hkp.ksh:# Calling program  :  exec_pr_truncate_hkp.ksh
/home/edwprod/Partner_com/bin/exec_pr_truncate_hkp.ksh
/home/edwprod/Partner_com/bin/exec_pr_post_housekeep.ksh:# Program Name     :  exec_pr_post_housekeep.ksh
/home/edwprod/Partner_com/bin/exec_pr_post_housekeep.ksh:# Calling program  :  exec_pr_post_housekeep.ksh
/home/edwprod/Partner_com/bin/exec_pr_post_housekeep.ksh

该命令搜索所有的 shell 脚本并找到其中被调用的脚本的名称。我需要从这个结果中单独获取 ksh 名称。请帮忙?

【问题讨论】:

  • 您的意思是只使用find `pwd` -type f -name "*.ksh" 而不使用 exec?
  • 这将给出 bin 文件夹中的 ksh 列表。我正在尝试获取脚本中使用的 ksh。这样如果有任何脚本遗漏,我可以在开始测试/执行之前创建。

标签: linux shell sed awk sh


【解决方案1】:

您可以试一试(-E 用于扩展正则表达式,-o 用于仅输出匹配模式):

find `pwd` -type f -name "*.ksh" -exec grep -E -o "[a-zA-Z0-9_]*\.ksh" '{}' \;

获取唯一列表:

find `pwd` -type f -name "*.ksh" -exec grep -E -o "[a-zA-Z0-9_]*\.ksh" '{}' \; |sort -u

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-01
    • 2014-03-29
    • 1970-01-01
    • 2014-12-02
    • 2018-02-10
    • 2012-02-03
    • 1970-01-01
    • 2021-08-07
    相关资源
    最近更新 更多