问题描述
到现在为止我已经写了
awk 's{ print ""; print}; $0~v {print; s=1; next}; s=0' RS= v=4.0.74 Chnagelog.md
这很好用,但现在,我有疑问。如果我想使用不区分大小写的文件名。假设不是在较低的文件名中给出文件名,而是以全部大写或驼峰形式写入文件名,那么此脚本将不起作用。 如何修改此 awk 脚本以采用不区分大小写的文件名?
解决方法
大多数操作系统都区分大小写的文件名和文件名的差异
被视为不同的文件。如果您确定这一点,请尝试与 bash
组合使用:
#!/bin/bash
for f in *.md; do
if [[ ${f,} = "changelog.md" ]]; then
awk 's{ print ""; print}; $0~v {print; s=1; next}; s=0' RS= v=4.0.74 "$f"
fi
done
我认为更好的解决方案是修复文件名。
,另一种方法是在 awk 中使用 grep -i:
srand(time(0)); // Called only once,probably in main
char words[3][6] { // Possibly const // Possibly std::vector<std::string>
{'b','a','t','m','n'},{'k','i','l','e','r'},{'b','u','y'}
};
int num = rand() % 3;
auto& word = words[num]; // char (&word)[6] = words[num];