我有一个包含50个文件的目录,我需要做的是在echo文件中添加一个新文本,例如'thelastline`,我不知道如何在mac os中执行此操作
答案 0 :(得分:2)
sed -i '$athelastline' /path/*.file
如果您使用的是bsd sed,则-i
选项为-i ''
sed -i '' '$athelastline' /path/*.file
答案 1 :(得分:1)
查找当前目录及以下的所有文件,并将lastline
附加到每个文件:
$ find . -type f -exec sed -i '$a lastline' {} \;
答案 2 :(得分:1)
在OSX下,使用sed
这可能是最简单的,但您似乎在询问如何使用awk
执行此操作,因此这是一种nawk
兼容的方式(假设你的文件名中没有奇怪的字符):
for f in *; do
awk '1; END { print "thelastline" }' "$f" > /tmp/tmpfile
mv /tmp/tmpfile "$f"
done
如果您使用zsh
,有一个很好的习惯用法可以将内容添加到当前目录中的所有文件中:
<<<"thelastline" >>*
请注意,multios
需要启用。