小编Ren*_*let的帖子

当且仅当另一个文件存在时,如何告诉git忽略某个文件?

我想告诉git忽略一个名为foo.extif 的文件,并且仅当存在另一个名为的文件时foo.txe.我几乎可以肯定这不能通过.gitignore语法来完成,但是我可能还有其他一些棘手的方法吗?

使用示例:我经常将LaTeX文档的图形存储在名为的子目录中figures.我通常用Xfig设计我的数字.我的makefile调用fig2devfigures/foo.fig源生成一对文件:

  • figures/foo.pdf,图形部分的PDF文件,
  • figures/foo.pdf_t,一个文本的LaTeX文件,带有includegraphics包含PDF 的命令.

因为生成了这两个文件,我想git忽略它们.我可以在我的.gitignore文件中添加两个简单的排除模式,但也有一些我的数字是纯PDF,而不是从其他来源生成.当然,我不想git忽略这些figures/bar.pdf文件.

我想补充一下:

/\(**\)/figures/\(*\).fig: /\1/figures/\2.pdf /\1/figures/\2.pdf_t
Run Code Online (Sandbox Code Playgroud)

我的.gitignore文件,这意味着任何文件命名/<some_path>/figures/<some_name>.pdf/<some_path>/figures/<some_name>.pdf_t当且仅当一个文件名为应该被忽略/<some_path>/figures/<some_name>.fig使用相同的存在<some_path><some_name>.

git gitignore

9
推荐指数
1
解决办法
1311
查看次数

如何检查Makefile中的目录是否“不存在”?如果 [ !-d ... ] 始终返回 true

我想添加几行,以便如果某个目录(由 Makefile 变量 DIR1 设置)不存在,则 make 过程可能会出错。这是添加的部分,但即使我 DIR1 设置的目录存在,也会出错。例如,我创建了名为“dir1”的目录,但出现错误。怎么了?

DIR1 = dir1

.PHONY : check_dir

$(info DIR1 = $(DIR1))

check_dir:  
    if [ ! -d $(DIR1) ]; then \
        $(error "DIR1 does not exist! check Makefile!"); \
    fi
Run Code Online (Sandbox Code Playgroud)

这是运行结果。(我dir1在当前目录中有一个名为的目录)。

> ckim@chan-ubuntu:~/testmake/test1$ make  
> DIR1 = dir1 Makefile:8:
> *** "DIR1 does not exist! check Makefile!".  Stop.
Run Code Online (Sandbox Code Playgroud)

makefile

5
推荐指数
1
解决办法
4333
查看次数

将列位置作为输入传递给 AWK 命令

脚本将 csv 文件头位置 A、C、B、D 转换为 A、B、C、D,输出是变量 VAR_INP 将在 awk 中用于打印和创建新的 csv 文件。

VAR_INP="TMP1=$1 ; TMP2=$2 ; TMP3=$3 ; TMP4=$4 ; $1=TMP1 ;$3=TMP2 ;$2=TMP3 ;$4=TMP4 ;"
Run Code Online (Sandbox Code Playgroud)

我需要在 awk 中使用这个 VAR_INP 作为输入命令。

echo "A,C,B,D" > input.csv

awk 'BEGIN { FS=OFS","}
{
$VAR_INP 
print
}' input.csv
Run Code Online (Sandbox Code Playgroud)

预期产出

A,B,C,D
Run Code Online (Sandbox Code Playgroud)

我没有得到想要的结果。它按原样打印输入。

仅当我扩展 VAR_INP 并手动运行时它才有效

请指教。

shell awk

1
推荐指数
1
解决办法
122
查看次数

VHDL 中循环运算符“For”填充数组

我想理解并改进我得到的 VHDL 代码。

在VHDL实现中有以下部分:

m1(000) <=          MetricA(000)    + BrMet(3);
m1(001) <=          MetricA(001)    + BrMet(1);
m1(002) <=          MetricA(002)    + BrMet(0);
m1(003) <=          MetricA(003)    + BrMet(2);
m1(004) <=          MetricA(004)    + BrMet(0);
m1(005) <=          MetricA(005)    + BrMet(2);
m1(006) <=          MetricA(006)    + BrMet(3);
m1(007) <=          MetricA(007)    + BrMet(1);
m1(008) <=          MetricA(008)    + BrMet(2);
m1(009) <=          MetricA(009)    + BrMet(0);
m1(010) <=          MetricA(010)    + BrMet(1);
m1(011) <=          MetricA(011)    + BrMet(3);
m1(012) <=          MetricA(012)    + BrMet(1);
m1(013) <=          MetricA(013)    + BrMet(3);
m1(014) <=          MetricA(014)    + BrMet(2);
m1(015) …
Run Code Online (Sandbox Code Playgroud)

for-loop vhdl

0
推荐指数
1
解决办法
579
查看次数

标签 统计

awk ×1

for-loop ×1

git ×1

gitignore ×1

makefile ×1

shell ×1

vhdl ×1