使用sed将文本+管道命令插入文件

时间:2016-11-04 02:30:16

标签: sed

我不能把头包裹在sed周围。我需要用它来插入文本"你有n个文件"到现有文件。我知道ls | wc -l让我n,但由于某种原因,我无法找到正确的语法来将其插入到第一行下方的现有文件中。

到目前为止,我已经提出了这个问题 -

echo "File log for" `date` > filelog | sed -i '1s/You currently have `n` files /' filelog

我的主要问题(我希望)是让sed将ls | wc -l以及文本识别为单行。

2 个答案:

答案 0 :(得分:1)

这个miight适合你(GNU sed):

sed -i -e '1e echo File log for $(date)' -e '1e echo You currently have $(ls|wc -l) files' file

使用e命令评估所需地址的shell命令。

答案 1 :(得分:1)

可以使用<IfModule mod_rewrite.c> Options -Indexes RewriteEngine On RewriteRule ^news/([A-Za-z-.]+)/?$ news.php?article=$1 [NC] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^\.]+)$ $1.php [NC,L] </IfModule> command substitution

完成
printf


注意: Avoid parsing ls

例如,尝试添加printf "File log for $(date)\nYou currently have $(ls | wc -l) files\n" > filelog 的文件并对其进行计数。但在这种情况下,我们可以使用touch $'\n'as选项解决该问题

-q