我正在尝试计算仅使用shell匹配文件名模式的所有文件(在目录树中)的总大小(以字节为单位).这是我到目前为止:
find -name*.undo -exec stat -c%s {} \; | awk'{total + = $ 1} END {print total}'
有更简单的方法吗?我觉得应该有一个简单的du或find开关为我做这个,但我找不到一个.
为了清楚起见,我希望在目录树下的任何位置匹配模式的文件总数
du -bs*.undo
将无法正常工作,因为它只匹配当前目录中的文件.
我正在寻找一种以幂等方式编写postgreSQL架构更改脚本的方法.
在MSSQL中,我可以这样做:
if(not exists(select * from information_schema.columns where table_name = 'x' and column_name = 'y'))
begin
alter table x add y int
end
go
Run Code Online (Sandbox Code Playgroud)
PostgreSQL似乎不允许ad-hoc pl/pgsql与MSSQL使用T-SQL的方式相同,所以我不能在SQL脚本中使用控制结构并使用psql -f x.sql运行它.
我知道如果对象已经存在,PostgreSQL将抛出一个错误,但我不想忽略错误.
我可以使用一些模式版本控制技术,如dbdeploy,但我真的很喜欢通过psql运行一组文件的简单性,而不会产生任何不必要的副作用.
这可能吗?
谢谢,马克