首页 新闻 会员 周边

shell中替换特定位置的值

0
悬赏园豆:5 [已解决问题] 解决于 2024-01-26 23:36

例如表格中数值如下
1,2,3,4
1,2,1,2
2,3,2,3
怎么样在原表中,把第二行第三个1替换为5。
我尝试了sed的命令,但是一改就把所有1都改了。怎么样才能不影响其他的值。

jax1379的主页 jax1379 | 初学一级 | 园豆:197
提问于:2023-10-16 23:34
< >
分享
最佳答案
0

awk -F"," 'NR==2{$3=5} 1' file.txt

收获园豆:5
小顾同学丶 | 菜鸟二级 |园豆:207 | 2023-10-17 15:27

-F 指定分隔符
NR 表示当前处理的行数。
$3 表示当前行的第三个字段;

小顾同学丶 | 园豆:207 (菜鸟二级) | 2023-10-17 15:28

@小顾同学丶: 最后一位参数 1 是什么意思

jax1379 | 园豆:197 (初学一级) | 2023-10-18 21:48

@jax1379: 相当于一个表达式,“1” 不是固定的,所有的非零的数都可以。用于表示条件表达式始终为真。只要条件为真,awk就会执行默认打印当前行。

小顾同学丶 | 园豆:207 (菜鸟二级) | 2023-10-19 14:27
其他回答(2)
0

echo "1 2 1 3"|sed 's/1/44/2'
echo "1 2 1 3"|sed 's|1|44|2'
这些写法即可

2012 | 园豆:21230 (高人七级) | 2023-10-17 08:42
0

遍历下试试?

$StartRange = 238
$EndRange = 248

for ($i = $StartRange; $i -le $EndRange; $i++) {
    $ip = "172.16.20.$i"
    Write-Host "Pinging $ip"
    Test-Connection -Count 4 -ComputerName $ip
    Write-Host ""
}

echo_lovely | 园豆:1437 (小虾三级) | 2023-10-17 11:00

这是我shell ping ip的

支持(0) 反对(0) echo_lovely | 园豆:1437 (小虾三级) | 2023-10-17 11:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册