我需要一个单行删除文本文件的任何行上的前五个字符.我怎么能用sed做到这一点?
我在文件中有这组行:
{info},
{info},
{info},
{info},
Run Code Online (Sandbox Code Playgroud)
我希望这样的文件没有最后一个",":
{info},
{info},
{info},
{info}
Run Code Online (Sandbox Code Playgroud)
我怎么能用bash做呢?任何的想法?
之前已经问过并回答过这个问题的变种,但是我发现我的sed/grep/awk技能从那些工作到自定义解决方案都太基础了,因为我几乎没有在shell脚本中工作.
我有一个相当大的(100K +行)文本文件,其中每行定义一个GeoJSON对象,每个这样的对象包括一个名为"county"的属性(所有人都说,有100个不同的县).这是一个片段:
{"type": "Feature", "properties": {"county":"ALAMANCE", "vBLA": 0, "vWHI": 4, "vDEM": 0, "vREP": 2, "vUNA": 2, "vTOT": 4}, "geometry": {"type":"Polygon","coordinates":[[[-79.537429,35.843303],[-79.542428,35.843303],[-79.542428,35.848302],[-79.537429,35.848302],[-79.537429,35.843303]]]}},
{"type": "Feature", "properties": {"county":"NEW HANOVER", "vBLA": 0, "vWHI": 0, "vDEM": 0, "vREP": 0, "vUNA": 0, "vTOT": 0}, "geometry": {"type":"Polygon","coordinates":[[[-79.532429,35.843303],[-79.537428,35.843303],[-79.537428,35.848302],[-79.532429,35.848302],[-79.532429,35.843303]]]}},
{"type": "Feature", "properties": {"county":"ALAMANCE", "vBLA": 0, "vWHI": 0, "vDEM": 0, "vREP": 0, "vUNA": 0, "vTOT": 0}, "geometry": {"type":"Polygon","coordinates":[[[-79.527429,35.843303],[-79.532428,35.843303],[-79.532428,35.848302],[-79.527429,35.848302],[-79.527429,35.843303]]]}},
Run Code Online (Sandbox Code Playgroud)
我需要将其拆分为100个单独的文件,每个文件包含一个县的GeoJSON,每个文件名为xxxx_bins_2016.json(其中xxxx是县名).我也希望每个这样的文件末尾的最后一个字符(逗号)消失.
我在Mac OSX中这样做,如果这很重要的话.我希望通过研究你能提出的任何解决方案来学到很多东西,所以如果你想花时间解释'为什么'以及那些将会很棒的'什么'.谢谢!
编辑,以明确有不同的县名,其中一些是双字名.
我有几个大文件(从 1GB 到 1TB),我想删除每个文件中的第一个和最后一个字符。
有什么快速的方法(最好使用简单的 bash 脚本)?我不需要保存旧文件。
我有一个我命名的文件poscar1.cif
,我想在此文件的特定行插入变量的内容.
例如,line 24
,当前读取:
_cell_length_a
Run Code Online (Sandbox Code Playgroud)
我想添加我的变量的内容a
(在我的函数中定义a=5.3827
),这样该行现在读取:
_cell_length_a 5.3827
Run Code Online (Sandbox Code Playgroud)
有没有办法用sed或awk做到这一点?我正在使用bash脚本来完成此任务(不幸的是,完整的脚本太大而无法发布).
我写了一些脚本来获取 aws ec2 实例的所有用户数据,并回显到 local.json。当我安装 node.js 模块时,所有这些都会发生。我不知道如何删除 json 文件中的最后一个逗号。这是 bash 脚本:
#!/bin/bash
export DATA_DIR=/data
export PATH=$PATH:/usr/local/bin
#install package from git repository
sudo -- sh -c "export PATH=$PATH:/usr/local/bin; export DATA_DIR=/data; npm install git+https://reader:secret@bitbucket.org/somebranch/$1.git#$2"
#update config files from instance user-data
InstanceConfig=`cat /instance-config`
echo '{' >> node_modules/$1/config/local.json
while read line
do
if [ ! -z "$line" -a "$line" != " " ]; then
Key=`echo $line | cut -f1 -d=`
Value=`echo $line | cut -f2 -d=`
if [ "$Key" = "Env" ]; then
Env="$Value" …
Run Code Online (Sandbox Code Playgroud) 我正在处理一个小文本文件,其中包含一个单词列表,我想添加一个新单词,然后排序.我启动时文件末尾没有换行符,但排序后却没有换行符.为什么?我可以避免这种行为,还是有办法将换行删除?
words.txt
好像
apple
cookie
salmon
Run Code Online (Sandbox Code Playgroud)
然后我跑了 printf "\norange" >> words.txt; sort words.txt -o words.txt
我使用printf而不是echo来确定是否会避免换行,但文件会读取
apple
cookie
orange
salmon
#newline here
Run Code Online (Sandbox Code Playgroud)
如果我只是运行printf "\norange" >> words.txt
橙色出现在文件的底部,没有换行符,即;
apple
cookie
salmon
orange
Run Code Online (Sandbox Code Playgroud) 我通过连接到某些API的脚本创建了超过50万个JSON文档.我想将这些文档导入RethinkDB,但似乎RethinkDB无法大量导入文件,因此我考虑将所有这些文件合并到一个大的JSON文件中(比如bigfile.json).这是他们的结构:
档案1.json:
{
"key_1": "value_1.1",
"key_2": "value_1.2",
"key_3": "value_1.3",
...
"key_n": "value_1.n"
}
Run Code Online (Sandbox Code Playgroud)
文件2.json:
{
"key_1": "value_2.1",
"key_2": "value_2.2",
"key_3": "value_2.3",
...
"key_n": "value_2.n"
}
...
Run Code Online (Sandbox Code Playgroud)
文件n.json:
{
"key_1": "value_n.1",
"key_2": "value_n.2",
"key_3": "value_n.3",
...
"key_n": "value_n.n"
}
Run Code Online (Sandbox Code Playgroud)
我想知道哪个是创建一个大JSON文件的最佳结构(完整,每个文件都有一个由3个变量组成的特定名称,第一个是时间戳(YYYYMMDDHHMMSS)),以及哪个命令或脚本(到现在为止)我只为bash编写脚本...)允许我产生合并.