显示父目录中文件的内容

时间:2010-03-21 05:29:00

标签: linux bash sed weblogic xargs

我有一个命令,列出服务器上的Weblogic实例目录。我想在列出的每个目录的父目录中显示文件的内容。

除了显示内容

之外,另一个功能是显示文件名
/usr/ucb/ps auwwx | grep weblogic | tr ' ' '\n' | grep security.policy | grep domain | awk -F'=' '{print $2}' | sed -e 's/weblogic.policy//' -e 's/security\///' -e 's/dep\///' | sort

上述命令的输出如下所示

/opt/<some_directory>/<domain_name>/<app_name>/
/opt/<some_directory>/<domain_name>/<app_name>/

我想查看/opt/<some_directory>/<domain_name>/目录中somefile.cf文件的内容,即/opt/<some_directory>/<domain_name>/somefile.cf

简单地说,我需要一个sed正则表达式来替换输出中的最后一个目录名。

我也试过这个

/usr/ucb/ps auwwx | grep weblogic | tr ' ' '\n' | grep security.policy | grep domain | awk -F'=' '{print $2}' | sed -e 's/weblogic.policy//' -e 's/security\///' -e 's/dep\///' | sort | while read -r DIR ; do dirname $DIR ; done | uniq | sed 's/$/\/somefile\.cf/g'

但我确信使用像这样的简单sed命令可以轻松完成while部分和最后一个sed部分

sed -e 's/<regex_for_last_directory_name>/somefile.cf/'

3 个答案:

答案 0 :(得分:2)

/usr/ucb/ps auwwx | grep weblogic | tr ' ' '\n' | grep security.policy | grep domain | awk -F'=' '{print $2}' | sed -e 's/weblogic.policy//' -e 's/security\///' | sort | while read -r DIR
do
  cat "$DIR"/somefile.cf
done

或者你的意思是目录一级?

/usr/ucb/ps auwwx | grep weblogic | tr ' ' '\n' | grep security.policy | grep domain | awk -F'=' '{print $2}' | sed -e 's/weblogic.policy//' -e 's/security\///' | sort | while read -r DIR
do
  cat "$DIR"/../somefile.cf
done

答案 1 :(得分:0)

cat /usr/ucb/ps auwwx | grep weblogic | tr ' ' '\n' | grep security.policy | grep domain | awk -F'=' '{print $2}' | sed -e 's/weblogic.policy//' -e 's/security\///' -e 's/$/somefile.cf/' | sort | uniq

答案 2 :(得分:0)

适用于8,可能需要调整为10.2

cat $(/ usr / ucb / ps auwwx | grep weblogic | tr'''\ n'| grep security.policy | grep domain | awk -F'=''{print $ 2}'| sed -e' s / weblogic.policy //'-e's / security ///'-e's / $ / somefile.cf /'| sort | uniq)