shell -如何将一列数据添加到少于两列的行[已关闭]

lf3rwulv  于 2022-11-16  发布在  Shell
关注(0)|答案(2)|浏览(115)

已关闭。此问题需要更多focused。当前不接受答案。
**想要改进此问题吗?**更新问题,使其仅关注editing this post的一个问题。

17天前关闭。
Improve this question
有人能分享一些关于如何将数据“T”插入到少于两列的行中的建议吗?
初始数据:

A,a1
B,c
1,2
3
a
M,n

预期数据:

A,a1
B,c
1,2
T,3
T,a
M,n

非常感谢,周末愉快。

3phpmpom

3phpmpom1#

使用awk

awk -F, 'NF==1 { printf "T,%s\n", $0; next } 1' input.txt

awk '{print ($0 ~ /,/) ? $0 : "T,"$0}' input.txt

输出:

A,a1
B,c
1,2
T,3
T,a
M,n
iyzzxitl

iyzzxitl2#

假设您有一个名为 test.txt 的文件,您可以执行以下操作,例如,将bash脚本与该文件放在同一个文件夹中:

input=$(cat test.txt)
while IFS= read -r line; do
    substr=$(echo "$line" | cut -d',' -f 1 -s)
    if [[ "$substr" == "" ]]; then
        newline="T,$line"
        echo "$newline" >> test2.txt
    else
        echo "$line" >> test2.txt
    fi
done <<< "$input"

答案被写入一个新文件。这有帮助吗?

相关问题