常用代码
2022年7月30日
编程
# Git 命令
## 查看纯提交信息日志
```bash
git log <tag1>..<tag2> --pretty="%s" --no-merges
```
其中 `<tag1>..<tag2>` 可以用于筛选日志,换成分支名称也一样。两个 `.` 不能省略。使用 `--pretty="- %s"` 可以直接生成 Markdown 格式的无序列表。
## 查看上一个tag到当前tag之间的日志
```bash
git log `git tag -l | sed -e '1{$q;}' -e '$!{h;d;}' -e x`..`git tag -l | sed -n '$p'` --pretty="%s" --no-merges
```
# ffmpeg 命令
## 嵌入字幕
```bash
ffmpeg -i <input> -vf scale=<width>:<height>,pad=<width>:<height>:<xpos>:<ypos>,subtitles=<ass> <output>
```
## FLAC转MP3
```bash
ffmpeg -i $flac_name -ab 320k -map_metadata 0 -id3v2_version 3 $mp3_name
```
# Imagemagick 命令
## 图片改300DPI
```bash
convert -units PixelsPerInch input.png -density 300 output.png
```
# 正则表达式
## 影视剧名排除特定版本
以匹配电影《沙丘》但排除HDR和杜比视界版本为例
```plaintext
^.*沙丘.*1080p.((?!HDR|DV).)*$
```
# GDAL
## Shapefile 和 PostGIS
Shapefile 导入 PostGIS
```bash
ogr2ogr.exe -f PostgreSQL PG:"host='' user='' password='' dbname=''" shapefile.shp -nln "table_name" -nlt MULTIPOLYGON -lco PRECISION=NO
```
PostGIS 导出 Shapefile
```bash
ogr2ogr.exe -f "ESRI Shapefile" shapefile.shp PG:"host='' user='' password='' dbname=''" "table_name"
```
# PowerShell
## 批量 Excel 转 csv
```bash
$ExcelWB = new-object -comobject excel.application
Get-ChildItem -Path c:\folder -Filter "*.xls" | ForEach-Object{
$Workbook = $ExcelWB.Workbooks.Open($_.Fullname)
$newName = ($_.Fullname).Replace($_.Extension,".csv")
$Workbook.SaveAs($newName,6)
$Workbook.Close($false)
}
$ExcelWB.Quit()
```
## 批量音频FLAC格式转MP3
```powershell
Get-ChildItem *.flac | ForEach-Object {
$flac_name='"{0}"' -f $_.FullName
$mp3_name='"{0}.mp3"' -f $_.BaseName.Split(". ")[1]
ffmpeg.exe -i $flac_name -ab 320k -map_metadata 0 -id3v2_version 3 $mp3_name
}
```
感谢您的阅读。本网站「地与码之间」对本文保留所有权利。