标签: cat

阅读时保留前导空格>>在bash中逐行写入文件

我试图循环文本文件的目录,并将它们组合成一个文档.这很好用,但文本文件包含代码片段,我的所有格式都被折叠到左侧.一条线上的所有前导空格都被剥离.

#!/bin/sh
OUTPUT="../best_practices.textile"
FILES="../best-practices/*.textile"
for f in "$FILES"
do
  echo "Processing $f file..."
  echo "">$OUTPUT

  cat $f | while read line; do 
      echo "$line">>$OUTPUT
  done
  echo >>$OUTPUT
  echo >>$OUTPUT
done
Run Code Online (Sandbox Code Playgroud)

我当然是一个bash noob,但经过高低搜索我无法找到合适的解决方案.显然,BASH一般都讨厌领先的白色空间.

bash parsing text-files cat

6
推荐指数
2
解决办法
2万
查看次数

如何使用apply,cat和print,而不会得到NULL

我试图使用cat()作为apply()内的函数.我几乎可以让R做我想做的事,但是在回归结束时我对NULLS感到非常困惑(对我而言).这是一个愚蠢的例子,突出我所得到的.

val1 <- 1:10
val2 <- 25:34
values <- data.frame(val1, val2)
apply(values, 1, function(x) cat(x[1], x[2], fill=TRUE))
Run Code Online (Sandbox Code Playgroud)

这个"有用",因为R接受它并且它运行,但我不理解结果.

> apply(values, 1, function(x) cat(x[1], x[2], fill=TRUE))
1 25
2 26
3 27
4 28
5 29
6 30
7 31
8 32
9 33
10 34
NULL
Run Code Online (Sandbox Code Playgroud)

但是,我想得到:

> apply(values, 1, function(x) cat(x[1], x[2], fill=TRUE))
1 25
2 26
3 27
4 28
5 29
6 30
7 31
8 32
9 33
10 34
Run Code Online (Sandbox Code Playgroud)

那么,如何删除最终的NULL?

r apply cat

6
推荐指数
1
解决办法
8290
查看次数

将PDF的内容打印到命令行

我正在寻找一个命令行程序,它将打印出PDF文件的文本,就像cat文本文件一样.我很确定这样的事情存在,因为我记得几个月前使用它.我本可以发誓pdfcat,但这只是一个合并的实用程序.我发现pdftotxt,这是可行的,但我更喜欢复制cat功能的东西,因为我想管道grep.谢谢!

linux pdf command-line cat

6
推荐指数
1
解决办法
4514
查看次数

来自文件行的回声

我有一个文件"myfile.txt",其中包含下一个内容:

hola mundo
hello word
Run Code Online (Sandbox Code Playgroud)

我想要与每一行合作

for i in `cat myfile.txt`; do echo $i; done
Run Code Online (Sandbox Code Playgroud)

我希望这能给我

hola mundo
hello word
Run Code Online (Sandbox Code Playgroud)

先是一条线,然后另一条线,但是得到

hola
mundo
hello
word
Run Code Online (Sandbox Code Playgroud)

因为我可以要求结果直到换行而不是每个空格?

所有

bash echo cat

6
推荐指数
1
解决办法
2万
查看次数

如何使用awk,sed或其他unix命令每隔n个间隔获取一行范围?

我知道如何使用awk和sed获得一系列行.我也知道如何使用awk和sed打印出每一行.

但是,我不知道如何将两者结合起来.

例如,我有一个1780000行的文件.

对于每17800行,我想打印第17800行以及之后的两行.

因此,如果我有一个1780000行的文件,它从1开始,结束于1780000,这将打印:

1
2
3
17800
17801
17802
35600
35601
35602
# ... and so on.
Run Code Online (Sandbox Code Playgroud)

有没有人知道如何使用awk,sed或其他unix命令每隔n个间隔获取一行范围?

unix awk sed cat

6
推荐指数
1
解决办法
4566
查看次数

使用cat编写data.frame

如何将data.frame abc添加/附加到我之前打开的文本文件中.我正在向该文件写一些重要信息,然后我想在该信息下面附加该data.frame.当我尝试使用cat编写data.frame abc时出错.

fileConn<-file("metadata.txt","w+")
smoke <- matrix(c(51,43,22,92,28,21,68,22,9),ncol=3,byrow=TRUE)
smoke <- as.data.frame(smoke)
table <- sapply (smoke, class)
abc <- data.frame(nm = names(smoke), cl = sapply(unname(smoke), class))
cat("some imp info","\n", file=fileConn)
cat(abc,"\n", file=fileConn)
close(fileConn)
class(abc)
Run Code Online (Sandbox Code Playgroud)

r cat dataframe

6
推荐指数
1
解决办法
3502
查看次数

我可以使用unix utils以编程方式"烧入"ANSI控制代码到文件吗?

示例:我开始录制script,并尝试键入echo test但省略o,所以我退格以纠正它.

当我的cat typescript一切看起来正常,因为代码被解释,但如果我使用lessvim我看到ech test^H^[[K^H^[[K^H^[[K^H^[[K^H^[[Ko test^M

我完全理解这是什么以及它为什么会发生,但有没有办法"烧入"代码并只在文件中看到结果?我的kludgy方法是对cat文件,然后将文本复制/粘贴到终端之外,但肯定有一些cat,sed,awk或其他东西的组合可以让我更容易?

linux awk sed cat

6
推荐指数
1
解决办法
570
查看次数

mongo shell cat()文件以big加载为变量at

我有javascript,我加载到mongo获取一些信息.

mongo --port=27017 script.js
Run Code Online (Sandbox Code Playgroud)

我将文件中的ObjectIds作为变量传递:

#script.js

db=connect('127.0.0.1:27017/dbname')
db.auth('user', 'pass') //get credentials


var file = cat('file_with_ids.txt');  // read the file
var objectId = file.split('\n');
for (var k =0, j = objectId.length-1; k<j; k++){
    someFunction(objectId[k])

}
Run Code Online (Sandbox Code Playgroud)

它适用于具有(500K行)的文件,但我有1.5M的文件和更多我需要处理的记录.我没有成功找到关于mongodb cat()及其内部的文档.我知道我可以将文件分成块并使用bash脚本逐个提供,但我不想走那条路.限制: 我只能使用纯JS,没有节点(本来可以更容易).我已经写了python代码来做它,它工作但python(pymonogo)重新排序文件的顺序.

有什么建议?如何在纯JS中解决这个问题?谢谢

javascript performance cat mongodb mongo-shell

6
推荐指数
0
解决办法
1219
查看次数

使用反引号时,Bash会抱怨here-document中的语法错误

我正在运行以下一段bash代码:

cat << END_TEXT
       _             _ 
      | |           | |
  __ _| |__   ___ __| |
 / _` | '_ \ / __/ _` |
| (_| | |_) | (_| (_| |
 \__,_|_.__/ \___\__,_|
END_TEXT
Run Code Online (Sandbox Code Playgroud)

并收到一个错误:

bash: command substitution: line 1: syntax error near unexpected token `|'
bash: command substitution: line 1: ` | '_ \ / __/ _'
Run Code Online (Sandbox Code Playgroud)

bash quoting cat backticks

6
推荐指数
1
解决办法
36
查看次数

使用 cat 命令时抑制错误消息

我有一个脚本,我使用 cat 命令递归复制文件夹中文件的内容,如下所示

test -f /tmp/$F || cat $F > /tmp/$F
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

cat: read error: Invalid argument
Run Code Online (Sandbox Code Playgroud)

我想知道如何抑制此错误。我只能访问 shell 解释器(没有 bash)。

谢谢

linux error-handling cat

5
推荐指数
1
解决办法
5730
查看次数