linux - sed 切片并在文件中追加行

标签 linux text sed replace

我有一个文件,我们可以将其命名为 text(顺便说一句,我在 linux 上)并且该文件包含 2 个数字和未知数量的名称。

1
2
Name 1
Name 2
Name 3

是否可以将数字后面的部分切掉并附加新名称?新名称可以比示例中的名称更少或更多。

预期输出:

//Pseudo code
names = {"new name1","new name2"}; //Array with the new names (can be a file too)

//test-File after sed
1
2
new name1
new name2

最佳答案

解决了:

DATA=("new name1" "new name2 "new name3" "new name4" "new name5" "new name6")
PATH="/etc/conffile"
SERVER_IP="192.168.x.x"

for (( i = 0; i < 6; i++ )); do
    COMMAND="sed -i $((${i} + 3))s/.*/${DATA[${i}]}/"
    rsh ${SERVER_IP} ${COMMAND} ${PATH}
done

关于linux - sed 切片并在文件中追加行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42903061/

相关文章:

分割为2GB时的linux内存映射:2GB instead of 1GB:3GB

python - 我需要过滤或删除文件中的一些行

c - 读取文本文件的精确列并将值/文本放入 vector 中

HTML5 Canvas 文本与具有 CSS3 样式的普通文本?

sed - 如何在 Makefile (POSIX) 中使用的 sed 命令中保持换行符完整?

linux - 替换特定位置的单词

linux - 一般而言,在 ucLinux 上,ioctl 是否比写入/sys 文件系统更快?

linux - 获取ELF文件信息

centos7中的上下文切换延迟

linux - sed 找不到 '0A' 控制字符