【问题标题】:sed slice and append lines in a filesed 在文件中切片和追加行
【发布时间】:2017-08-11 16:46:59
【问题描述】:

我有一个文件,我们称它为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

【问题讨论】:

  • 你能提供你期望的输出吗?
  • @Aif 添加了预期的输出
  • 我的 2 美分:而不是覆盖,切片和追加。
  • @KarolyHorvath 但我该怎么做呢?
  • “新名字”是什么意思?我认为您没有描述任何更改或文件更新。你能给出成对(旧/新)的样本输入吗?伴随着预期的输出?与卡罗利相反,我不确定你们两个所说的“切片”是什么意思。伪代码的第一部分(具有新名称的数组)是输入还是输出?你试过什么?你的输出是什么?是什么让您的输出不满意?

标签: linux text sed replace


【解决方案1】:

解决了:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-17
    • 2020-12-21
    • 2013-02-16
    • 1970-01-01
    • 2018-04-15
    • 2019-09-09
    • 2020-08-02
    • 1970-01-01
    相关资源
    最近更新 更多