从bash命令行转换txt文件
如果我有一个txt文件,每行都有一个项目,例如,fruits.txt从bash命令行转换txt文件,bash,text,sed,Bash,Text,Sed,如果我有一个txt文件,每行都有一个项目,例如,fruits.txt apples oranges bananas cherries 如何使用bash命令行/s将其转换为另一个txt文件,该文件具有对应于特定水果的枚举id,比如说fructID.txt item { id: 1 name: 'apples' } item { id: 2 name: 'oranges' } item { id: 3 name: 'bananas' } item { id: 4
apples
oranges
bananas
cherries
如何使用bash命令行/s将其转换为另一个txt文件,该文件具有对应于特定水果的枚举id,比如说fructID.txt
item {
id: 1
name: 'apples'
}
item {
id: 2
name: 'oranges'
}
item {
id: 3
name: 'bananas'
}
item {
id: 4
name: 'cherries'
}
尝试:
nl fruits.txt | awk'{print item{\n\t id:$1\n\t name:$2\n}}'>fruitsid.txt试试:
nl fruits.txt | awk'{print item{\n\t id:$1\n\t name:$2\n}}>fruitsid.txtawk解决方案:
awk '{ printf "item {\n id: %d\n name: \047%s\047\n}\n",NR,$1 }' fruits.txt > fruitids.txt
最终的fructids.txt内容:
item {
id: 1
name: 'apples'
}
item {
id: 2
name: 'oranges'
}
item {
id: 3
name: 'bananas'
}
item {
id: 4
name: 'cherries'
}
Awk解决方案:
awk '{ printf "item {\n id: %d\n name: \047%s\047\n}\n",NR,$1 }' fruits.txt > fruitids.txt
最终的fructids.txt内容:
item {
id: 1
name: 'apples'
}
item {
id: 2
name: 'oranges'
}
item {
id: 3
name: 'bananas'
}
item {
id: 4
name: 'cherries'
}
另一个纯bash解决方案:
另一个纯bash解决方案:
你可以用awk来做,你可以用awk来做,bash一行代码真的很难读:请添加一些新行bash一行代码真的很难读:请添加一些新行
item {
id: 1
name: 'apples'
}
item {
id: 2
name: 'oranges'
}
item {
id: 3
name: 'bananas'
}
item {
id: 4
name: 'cherries'
}