unix 相关问题

Unix操作系统是一种通用操作系统,由贝尔实验室于20世纪60年代末开发,现在有各种版本。重要说明:此标记专用于与Unix直接相关的编程问题;一般软件问题应该发送到Unix和Linux Stack Exchange站点或超级用户。

“>&0”有用途吗(重定向到标准输入)?

在 bash 中你可以这样做: echo test >&1(重定向到标准输出,尽管它已经到那里了) echo 测试 >&2(重定向到 stderr) echo test >&0(重定向到标准输入) 当我做...

回答 3 投票 0

在shell脚本中如何将命令打印到文件并显示命令? [重复]

我的 shell 脚本中有多个 ls -l 命令,我希望每一行将其输出附加到文本文件,所以我像这样运行它: ls -l /directory/to/check/exists>>validation.log 该文件...

回答 1 投票 0

从单线程读取多个套接字[低延迟]

作为网络客户端,我想跟踪两个 TCP 连接的输入。两台服务器每秒发送几个数据包。与可用带宽相比,每个数据包的大小都很小。 井井...

回答 1 投票 0

我想从 .debug.gz 进行 zgrep 并获取字符串之前和之后的行

我在我公司的软件IBM AIX上使用grep,那里没有GNU,它是默认的,不支持grep -B -A -C的功能,所以我找到了普通grep的解决办法: grep -n '

回答 1 投票 0

使用 sed 搜索两个时间范围之间的文本

我有带有时间戳的日志文件。我想使用 sed 搜索两个时间戳之间的文本,即使第一个时间戳或最后一个时间戳不存在。 例如,如果我在...之间搜索

回答 1 投票 0

Mac 上的 SQLite3 升级

我使用以下方法在 10.6.8 上升级 SQLite 3。我现在在 /usr/bin/ 中安装了版本 3.6.12,在 /usr/local/bin/ 中安装了版本 3.7.14。这是安装它的最佳方式吗? mkdir ~/

回答 3 投票 0

如何将制表符分隔的文本从 UNIX shell 中复制到剪贴板,同时保留制表符?

我正在尝试将 UNIX 环境中的文件的几行复制并粘贴到网页中。我想通过破坏选项卡来保留原始格式。然而,当我选择一个区块时...

回答 1 投票 0

在 Sublime Text 中,如何查找并替换文件名

在 Sublime Text 中是否有一种方法可以找到模式并将其替换为文件名。 例如, 我有一堆包含人物的文件名。 我想用人来代替它。

回答 4 投票 0

用于线程间通信的邮箱的C++实现

我想知道是否有人以前使用 POSIX 库实现过用于线程间通信的邮箱类。作为参考,我正在寻找类似于 SystemVerilog 中使用的邮箱:http...

回答 3 投票 0

如何在 Unix 系统上编辑二进制文件[已关闭]

在 Windows 计算机上,有许多第三方编辑器可用于编辑二进制文件。 如何在 Unix 系统上编辑二进制文件?

回答 12 投票 0

使用 sed 命令更新 pom.xml 文件中的版本

示例输入: 示例输入: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.2.4</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.in28minutes.microservices</groupId> <artifactId>currency-exchange-service</artifactId> <version>3.0.3</version> <name>currency-exchange-service-docker</name> <description>Demo project for Spring Boot</description> <properties> <java.version>16</java.version> <spring-cloud.version>2020.0.2</spring-cloud.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> </dependency> </dependencies> </project> 预期输出: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.2.4</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.in28minutes.microservices</groupId> <artifactId>currency-exchange-service</artifactId> <version>3.0.4</version> <name>currency-exchange-service-docker</name> <description>Demo project for Spring Boot</description> <properties> <java.version>16</java.version> <spring-cloud.version>2020.0.2</spring-cloud.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> </dependency> </dependencies> </project> 我已经计算了 3.0.4 并使用 var2 变量来存储它。 我正在使用这个命令来更新 sed -i "s/<version>.*<\/version>/<version>$var2<\/version>/" pom.xml 但它正在改变每个版本标签下的版本。 但我需要更改以项目作为父标签的版本标签下的值。 我尝试过 sed -i "s/<project><version>.*<\/version>/<project><version>$var2<\/version>/" pom.xml 但它不起作用。 我的脚本.sh #!/bin/sh var1=$(echo '${project.version}' | mvn help:evaluate | grep -v '^[[]') var2=$(echo "$var1" | awk -F. -v OFS=. '++$NF') sed -i "s/<version>.*<\/version>/<version>$var2<\/version>/" pom.xml echo "$var2" $ xmlstarlet edit --update '//project/version' --value '3.0.4' file.xml <?xml version="1.0"?> <project> <version>3.0.4</version> <dependencies> <dependency> <version>1.2.5.RELEASE</version> </dependency> </dependencies> </project> 这个 sed 应该做: sed "/<version>/s/>.*</>${var2}</" pom.xml <project> <version>3.0.4</version> </project> 它搜索带有 <version> 的行,然后替换 >xxx< with the variable. 之间的数据 使用正则表达式,您可以确保要查找的内容不会太多。 sed -E "/<version>/s/>[^<]+</>${var2}</" pom.xml 如果您需要确保它不会更改除version之后的其他project,您可以使用awk awk -v var=$var2 '/<project>/ {f=1} f && /<version>/ {sub(/>[^<]+</,">"var"<")} 1' pom.xml <project> <version>3.0.4</version> </project> 测试 project 并在下一行更改的 Sed 版本 sed -E '/<project>/!b;n;s/<version>[^<]+</<version>'$var2'</' pom.xml <project> <version>3.0.4</version> </project> xmlstarlet edit -P --inplace --update '/_:project/_:version' --value '3.0.0' pom.xml _:前缀背后的原因是,每个设置了 xmlns 属性的 XML 元素在引用时都应以命名空间为前缀,在提供的 pom.xml 文件的情况下,设置了 xmlns 属性,但命名空间为未指定,这将使 xmlstarlet 回退到默认命名空间,即 _。

回答 3 投票 0

使用 rewind() 和 popen()

我有一个简单的C代码片段如下: #包括 无效主(){ 文件*f; 字符c; f = popen("ls", "r"); while ((c = fgetc(f)) != EOF) { //一些任务 } 快退(f)...

回答 2 投票 0

在Python中使用os.system调用多个命令

我想从我的 python 脚本调用多个命令。 我尝试使用 os.system(),但是,当当前目录更改时我遇到了问题。 例子: os.system("ls -l") 操作系统

回答 9 投票 0

为什么此 shell 脚本中的 for 循环在执行第二次迭代之前执行第一次迭代两次?

我有一个bash脚本: #! usr/bin/env bash # 测试 bash 脚本调用 python 脚本 cd ~/python 对于 ((i = 1; i <= 2; i++)); do python3 test_0$i.py; done cd ~/bash that pulls test_0x.py files ...

回答 1 投票 0

比较Linux中两个不同目录中的文件

一个 shell 脚本,显示两个不同目录中多个文件的差异,还可能创建一个输出文件,包括发现所有不匹配的位置。 健康)状况 文件目录1/文件1

回答 3 投票 0

根据模式清单匹配文件

我想检查某些文件是否与清单文件中声明的模式匹配。因此,例如以下文件 A_cycles.pdf A_filter_passed_vs_occupied.pdf A_grouped_cycle.csv A_grouped_lane.csv

回答 3 投票 0

如何用制表符替换换行符?

我有如下所示的图案 你好 你好 你好 问候 问候语 不再向你问好 我正在尝试使用以下命令用制表符替换所有换行符 sed -e“s_/ _/ _G” 但这不是...

回答 7 投票 0

如何杀死thunar进程?

如果我想杀死该文件管理器的所有实例,我会这样做 基尔图纳尔 这给了我 thunar:未找到进程 但这个 FM 肯定在运行! 同样 ps aux | grep thunar 找不到

回答 2 投票 0

在 C 程序中使用 system("clear") 命令时出现奇怪的输出

我有以下代码 #包括 #包括 #包括 #包括 #包括 #定义尺寸5 int RandomNumInRang...

回答 2 投票 0

Solaris。 xterm显示问题

我通过 SSH 从我的 Linux 计算机连接到 Solaris (10) 服务器。 但是,当我尝试使用“ xterm”打开另一个终端时,它不起作用。 我将 DISPLAY 环境变量设置为 12...

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.