我不能把头包裹在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
以及文本识别为单行。
答案 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