AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / coding / 问题

问题[unix](coding)

Martin Hope
kuninox
Asked: 2025-04-21 10:04:30 +0800 CST

重新格式化数字,在固定位置插入分隔符

  • 14

文件中有很多行,如下所示:

000100667 ===> 000102833
005843000 ===> 005844000
011248375 ===> 011251958

我想在数字中插入特定的分隔符,如下所示:

00:01:00,667 ===> 00:01:02,833
00:58:43,000 ===> 00:58:44,000
01:12:48,375 ===> 01:12:51,958

现在我正在尝试(仅第一部分成功):

echo 000100667 | gawk '{printf "%s:%s:%s,%s\n", $1, $2, $3, $4}' FIELDWIDTHS="2 2 2 3"

unix
  • 6 个回答
  • 1195 Views
Martin Hope
Marcins
Asked: 2024-12-08 22:51:44 +0800 CST

Awk 匹配模式并删除相邻行

  • 8

我获得了来自不同大脑区域的体积数据,并试图对其进行整理,以便于分析。为了便于理解,以下是我获得的数据的一部分:

LT_Putamen 5075 5075.000000
LT_Temporal 84593 84593.000000
LT_Thalamus 7720 7720.000000
RT_Accumbens 623 623.000000
RT_Accumbens overlaps 64.000000 10.2700
RT_Amygdala 2252 2252.000000
RT_Amygdala overlaps 2133.000000 94.7100

我想修改它并且输出将是:

LT_Putamen 5075 5075.000000
LT_Putamen overlaps 0 0
LT_Temporal 84593 84593.000000
LT_Temporal overlaps 0 0
LT_Thalamus 7720 7720.000000
LT_Thalamus overlaps 0 0
RT_Accumbens 623 623.000000
RT_Accumbens overlaps 64.000000 10.2700
RT_Amygdala 2252 2252.000000
RT_Amygdala overlaps 2133.000000 94.7100

只是想在每条记录中都有这条“重叠”线。

我在编程方面还是一个新手,但我想到了类似这样的东西:

awk '{
    if (NR == 1) {
        # Initialize the first region (using first world in a line)
        region = $1
        print $0
    } else {
        if ($1 != region) {
            # Finalize the old region - printing "overlaps" line with 0 0
            printf("%s %overlaps 0 0\n", region)
            # Start the new region
            region = $1
        }
        # Print the current line (for the current region)
        print $0

    }
}
END {
    # For the last region
    if (region) {
        printf("%s 0 0\n", region)
    }
}'

结果接近我想要的:

LT_Putamen 5075 5075.000000
LT_Putamen overlaps 0 0
LT_Temporal 84593 84593.000000
LT_Temporal overlaps 0 0
LT_Thalamus 7720 7720.000000
LT_Thalamus overlaps 0 0
RT_Accumbens 623 623.000000
RT_Accumbens overlaps 0 0
RT_Accumbens overlaps 64.000000 10.2700
RT_Amygdala 2252 2252.000000
RT_Amygdala overlaps 0 0
RT_Amygdala overlaps 2133.000000 94.7100

但我在已有重叠的区域有这些额外的“重叠”线。你能帮我吗?我应该怎么做才能让它工作?我会非常感激任何帮助!!谢谢

马尔钦

unix
  • 4 个回答
  • 55 Views
Martin Hope
AVS Origami
Asked: 2024-11-29 10:59:54 +0800 CST

将文件从源目录复制到目标目录,遵循目标目录中的符号链接

  • 5

我正在尝试将一些文件从一个目录复制到另一个目录,并解析目标目录中的所有符号链接。为了更好地说明我的意思,我的源目录如下所示:

source
  |-- dir1
  |     `-- file1
  |-- dir2
  |     |-- dir4
  |     `-- file2
  `-- dir3
        `-- file3

目标目录:

dest
  |-- dir1
  |-- dir2 -> dir1
  `-- dir3

我想以递归方式从source复制到dest,以便操作完成后目标目录如下所示:

dest
  |-- dir1
  |     |-- dir4
  |     |-- file1
  |     `-- file2
  |-- dir2 -> dir1
  `-- dir3
        `-- file3

我目前正在尝试使用cp -R source/. dest/(由于其他原因,我无法使用 shell glob *) 来执行此操作,但失败并出现错误cp: target dest/./dir2 is not a directory。我该如何实现所需的结果?

编辑:不能假设中的所有目录都source存在于中dest。

修改 2:我可以通过创建一个 tarballsource并将其提取到 来实现这一点dest。但这感觉很笨重,而且增加了不必要的步骤。

unix
  • 2 个回答
  • 35 Views
Martin Hope
Hasham1983
Asked: 2024-10-07 22:09:15 +0800 CST

如何在 grep 匹配的字符串上使用 sed 并显示完整的输出

  • 6

这就是我正在尝试做的事情。

我正在尝试 cat 一个文本文件并显示完整文件,只更改一些字符(也出现在其他行中),然后使用 grep 匹配选定行中的关键字。

我试图通过一行或多行命令来完成此操作,而不是通过运行脚本。

例如,我有这个文本文件 test_hasham.txt

cat test_hasham.txt

this is line one XXXXXX
this is line two XXXXXX
this is line three XXXXXX

我想仅在包含单词“two”的行上将“X”更改为“-”,输出应该是原始文本文件中的所有行,但只有包含关键字“two”的行发生了更改。

this is line one XXXXXX
this is line two -----
this is line three XXXXXX

我正在尝试类似的事情,但它将所有“X”更改为“-”......如何在一个命令中使用 grep 和 sed 来获得所需的结果。

这就是我所做的,但它会将所有的 X 都改为破折号,而不仅仅是带有单词 two 的行

cat test_hasham.txt |  (sed "s|X|-|g" ; grep two)
this is line one ------
this is line two ------
this is line three ------

总之:

我得到的是:

cat test_hasham.txt |  (sed "s|X|-|g" ; grep two)
this is line one ------
this is line two ------
this is line three ------

我想要的是:

cat test_hasham.txt |  ( ****some magic sed + grep combo ****)
this is line one XXXXX
this is line two ------
this is line three XXXXX
unix
  • 1 个回答
  • 42 Views
Martin Hope
Matias Araya
Asked: 2024-09-24 03:15:29 +0800 CST

如何从末尾到开头剪切范围?

  • 9

我需要在 AIX 中更改字符串的顺序,但使用命令cut我无法做到这一点

前任: echo FT0215202301.xml | cut -b 7-10,5-6,3-4

结果: 02152023

预期的: 20230215

unix
  • 3 个回答
  • 71 Views
Martin Hope
notaorb
Asked: 2024-09-22 11:44:42 +0800 CST

来自 OS VMM 的堆栈和进程数据段(堆)分配?

  • 5

在 Unix 系统上启动进程时,如何确定进程虚拟地址空间大小?当进程数据段或堆栈必须增长时,VAS、PAS 和 VMM 之间会发生什么情况?

从下面的图片可以看出,VAS 似乎大于物理地址空间,我假设这允许分页到磁盘。

我之所以问这个问题,是因为我之前在这里回答过,brk() 和 sbrk() 系统调用用于增加进程数据段的大小。然后堆栈的大小就会以某种方式增长。我的假设是进程的 VAS 已经很大,VMM 通过一些系统调用将页面映射到 VAS。

一个 参考链接

unix
  • 1 个回答
  • 15 Views
Martin Hope
notaorb
Asked: 2024-09-22 09:07:15 +0800 CST

常见 Unix 操作系统的堆栈和堆大小分配问题

  • 5

在 Unix 操作系统中,下图中低地址和高地址之间的大小是如何选择的?我假设这与虚拟内存管理和页面分配有关。

我很好奇,因为我记得曾经使用过一个操作系统,递归函数可能会耗尽堆栈空间,而操作系统提供了增加进程堆栈空间的选项。对于堆,我理解这是 malloc 请求内存,我猜想在文本和数据加载后,它会以某种方式动态增加堆大小。

一个 参考:链接

unix
  • 1 个回答
  • 22 Views
Martin Hope
Bhabani Shankar
Asked: 2024-09-12 17:40:12 +0800 CST

Linux sed 与 < 和 >

  • 3

我想替换 xml 文件中以下字符串的所有条目

<level>error</level>

和

<level>debug</level>

尝试了sed的各种选项,但都无济于事。有人能帮忙吗?

unix
  • 2 个回答
  • 36 Views
Martin Hope
IUnknown
Asked: 2024-08-29 14:11:41 +0800 CST

逐个文件查找字数统计文件

  • 5

是否可以使用 grep 逐个文件确定特定单词在多个文件中出现的次数

“-c”选项,但这会返回特定单词出现的匹配行数 - 并且不会起作用,因为一行可能包含单词的多个实例

例如 :

文件A.txt:约12345个单词和风险和风险

文件 B.txt:和 12345 然后是另一个风险

文件 C.txt:虚拟单词

我将运行grep -l "12345" *.txt | xargs grep ?????? risk - 预期输出 A.txt:2 B.txt:1

unix
  • 3 个回答
  • 40 Views
Martin Hope
DevEx
Asked: 2024-05-14 17:42:06 +0800 CST

从 makefile 中的文件加载环境变量

  • 5

给定一个带有变量的 .env 文件DB_USER=foo@bar,对于 Makefile:

.ONESHELL:

SHELL:=/bin/bash

all:
    set -o allexport;source .env ;set +o allexport && echo $(DB_USER)

和

$ make all
$ set -o allexport;source .env ;set +o allexport && echo 

在终端工程中测试这个:

$ set -o allexport;source .env ;set +o allexport; && echo $DB_USER
$ foo@bar

如何在 makefile 中解决这个问题?

unix
  • 1 个回答
  • 20 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    重新格式化数字,在固定位置插入分隔符

    • 6 个回答
  • Marko Smith

    为什么 C++20 概念会导致循环约束错误,而老式的 SFINAE 不会?

    • 2 个回答
  • Marko Smith

    VScode 自动卸载扩展的问题(Material 主题)

    • 2 个回答
  • Marko Smith

    Vue 3:创建时出错“预期标识符但发现‘导入’”[重复]

    • 1 个回答
  • Marko Smith

    具有指定基础类型但没有枚举器的“枚举类”的用途是什么?

    • 1 个回答
  • Marko Smith

    如何修复未手动导入的模块的 MODULE_NOT_FOUND 错误?

    • 6 个回答
  • Marko Smith

    `(表达式,左值) = 右值` 在 C 或 C++ 中是有效的赋值吗?为什么有些编译器会接受/拒绝它?

    • 3 个回答
  • Marko Smith

    在 C++ 中,一个不执行任何操作的空程序需要 204KB 的堆,但在 C 中则不需要

    • 1 个回答
  • Marko Smith

    PowerBI 目前与 BigQuery 不兼容:Simba 驱动程序与 Windows 更新有关

    • 2 个回答
  • Marko Smith

    AdMob:MobileAds.initialize() - 对于某些设备,“java.lang.Integer 无法转换为 java.lang.String”

    • 1 个回答
  • Martin Hope
    Fantastic Mr Fox msvc std::vector 实现中仅不接受可复制类型 2025-04-23 06:40:49 +0800 CST
  • Martin Hope
    Howard Hinnant 使用 chrono 查找下一个工作日 2025-04-21 08:30:25 +0800 CST
  • Martin Hope
    Fedor 构造函数的成员初始化程序可以包含另一个成员的初始化吗? 2025-04-15 01:01:44 +0800 CST
  • Martin Hope
    Petr Filipský 为什么 C++20 概念会导致循环约束错误,而老式的 SFINAE 不会? 2025-03-23 21:39:40 +0800 CST
  • Martin Hope
    Catskul C++20 是否进行了更改,允许从已知绑定数组“type(&)[N]”转换为未知绑定数组“type(&)[]”? 2025-03-04 06:57:53 +0800 CST
  • Martin Hope
    Stefan Pochmann 为什么 {2,3,10} 和 {x,3,10} (x=2) 的顺序不同? 2025-01-13 23:24:07 +0800 CST
  • Martin Hope
    Chad Feller 在 5.2 版中,bash 条件语句中的 [[ .. ]] 中的分号现在是可选的吗? 2024-10-21 05:50:33 +0800 CST
  • Martin Hope
    Wrench 为什么双破折号 (--) 会导致此 MariaDB 子句评估为 true? 2024-05-05 13:37:20 +0800 CST
  • Martin Hope
    Waket Zheng 为什么 `dict(id=1, **{'id': 2})` 有时会引发 `KeyError: 'id'` 而不是 TypeError? 2024-05-04 14:19:19 +0800 CST
  • Martin Hope
    user924 AdMob:MobileAds.initialize() - 对于某些设备,“java.lang.Integer 无法转换为 java.lang.String” 2024-03-20 03:12:31 +0800 CST

热门标签

python javascript c++ c# java typescript sql reactjs html

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve