Unix命令删除前几行中的空格

时间:2010-09-18 23:32:01

标签: php linux unix

我正在使用此unix命令(在php文件中)删除某个字符串,然后删除该字符串留下的空白。不幸的是,在许多情况下,文件被完全删除。

有解决方法吗?

<?php

$dir = "./";

$rmcode = `find $dir -name "*.php"
-type f |xargs sed -i 'somestring' 2>&1`; echo "String removed.<br />\n";

$emptyline = `find $dir -name "*.php"
-type f | xargs sed -i '/./,$!d' 2>&1`; echo "Empty lines removed.<br
/>\n";

?>

修改

这会有用吗?

$emptyline = `find $dir -name "*.php"
-type f | xargs sed -i '/./,$!d' 2>&1`; echo "Empty lines removed.<br
/>\n";

成为

$emptyline = `find $dir -name "*.php"
-type f | xargs sed -i '/\s/,$!d' 2>&1`; echo "Empty lines removed.<br
/>\n";

1 个答案:

答案 0 :(得分:0)

尝试一次删除字符串AND空格:

<?php

$dir = "./";

$rmcode = `find $dir -name "*.php" -type f | xargs sed -i 's/somestring\s*//g' 2>&1`; echo "String removed.<br />\n";

?>

\s匹配空格。
*表示零次或多次。


更新了工作示例。

fseto@bass:~/src$ echo "test somestring is a test" > testfile
fseto@bass:~/src$ cat testfile
test somestring is a test
fseto@bass:~/src$ sed -i 's/somestring\s*//g' testfile 
fseto@bass:~/src$ cat testfile
test is a test