在bash中开始删除多余的空间

时间:2014-12-30 04:50:39

标签: php bash awk sed cut

我正在尝试获取extension_dir并将其存储在变量

php -i | grep extension_dir给出了

extension_dir => /usr/lib64/php/modules => /usr/lib64/php/modules作为输出

我想将/usr/lib64/php/modules存储在变量

这是我试过的 php -i | grep extension_dir | cut -d'>' -f3提供/usr/lib64/php/modules

如何在开始时删除空格

我欢迎任何更清洁的解决方案

4 个答案:

答案 0 :(得分:5)

使用awk代替cut

php -i | grep extension_dir | awk -F '=> ' '{print $3}'

甚至可以使用awk删除grep:

php -i | awk -F '=> ' '/extension_dir/{print $3}'

答案 1 :(得分:2)

使用 sed:

php -i | grep extension_dir | sed 's/.* => //'

答案 2 :(得分:0)

php -i | sed -n '/extension_dir/ s/.*=> *//p'

一个简单的sed足够(或awk),中间不需要grep

答案 3 :(得分:0)

您的命令行

php -i | grep extension_dir | cut -d '>' -f3

可以修改为

php -i | grep extension_dir | cut -d '>' -f3|cut -c 2-

从第二个字符开始,忽略第一个字符,即空格