[英]Linux: Append Word Count to Each Line of a File
目前對於Linux來說還很新,
我已經看到了一些簡單的答案,可以在文件末尾附加一個常量/不變的單詞/組件,例如, shell腳本在每行后綴
但是,我想知道如何將.csv文件每一行的字數附加到每一行的末尾,以便:
word1, word2, word3
foo1, foo2
bar1, bar2, bar3, bar4
成為:
word1, word2, word3, 3
foo1, foo2, 2
bar1, bar2, bar3, bar4, 4
我正在使用逗號分隔的值,因此,如果有一種更快/更簡單的方法來使用逗號而不是項目,那么它也會起作用。
干杯!
簡單的awk
解決方案:
awk -F ',' '{print $0", "NF}' file.csv
-F
參數可用於指定字段分隔,
你的情況。 $0
將包含整行 NF
是包含行中字段數的變量 您可以使用此:
while read line; do
N=`echo $line | wc -w`;
echo $line", "$N;
done < inputfile.txt
一個簡單的(但很可能很慢)bash腳本可以達到目的:
#!/bin/bash
newfile=$1.tmp
cat $1 | while read l ; do
echo -n $l \ >> $newfile
echo $l | wc -w >> $newfile
done
然后根據您的喜好移動文件(使用tempfile
...保存):
one,
one, two,
one, two, three,
我得到:
one, 1
one, two, 2
one, two, three, 3
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.