标签: tr

如何将多行输出连接到一行?

如果我运行命令cat file | grep pattern,我会得到很多输出行.如何将所有行连接成一行,有效地将每行替换"\n""\" "(以后"跟空格结尾)?

cat file | grep pattern | xargs sed s/\n/ /g 不适合我.

unix linux bash grep tr

126
推荐指数
8
解决办法
19万
查看次数

使用tr用空格替换换行符

有输出sed:

http://sitename.com/galleries/83450
72-profile
Run Code Online (Sandbox Code Playgroud)

这两个字符串应合并为一个并用空格分隔,如:

http://sitename.com/galleries/83450 72-profile
Run Code Online (Sandbox Code Playgroud)

两个字符串是流水线的tr,以便用空格替换换行符:

tr '\n' ' '
Run Code Online (Sandbox Code Playgroud)

并且它不起作用,结果与输入相同.

使用ASCII代码指示空间会'\032'导致替换\n为不可打印的字符.

怎么了?我在Windows上使用Git Bash.

replace newline space tr git-bash

51
推荐指数
1
解决办法
14万
查看次数

使用sed,awk,tr和friends删除尾随/开始换行符

我想从文件中删除所有空行,但只有当它们位于文件的结尾/开始时(即,如果它们之前没有非空行,则在开始时;如果有最后没有非空行.)

这是否可能在Perl或Ruby等功能齐全的脚本语言之外?我宁愿用做这个sed或者awk如果可能的话.基本上,任何轻量级和广泛使用的UNIX-y工具都可以,特别是我可以快速了解更多(Perl,因此,不包括在内).

unix awk sed tr

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

什么是最有效的不区分大小写的grep用法?

我的目标是匹配属于Yahoo!的电子邮件地址.域名系列.在*nix系统中(我将使用Ubuntu),这些方法中任何一种匹配模式的好处和缺点是什么?

如果还有其他更优雅的解决方案,我无法想象,请分享.

他们来了:

  • 使用grep选项-i:

grep -Ei "@(yahoo|(y|rocket)mail|geocities)\.com"

  • 将字符翻译成所有大写或小写,然后grep:

tr [:upper:] [:lower:] < /path/to/file.txt | grep -E "@(yahoo|(y|rocket)mail|geocities)\.com"

  • 为模式中的每个字符添加一个字符集(下面当然不会像"@ rOcketmail.com"那样匹配,但是如果我检查每个字符的情况,你会知道它会变成什么样):

grep -E "@([yY]ahoo|([yY]|[rR]ocket)[mM]ail|[gG]eo[cC]ities)\.[cC][oO][mM]" /path/to/file.txt

regex linux grep case-insensitive tr

37
推荐指数
1
解决办法
3万
查看次数

tr命令 - 如何用实际换行符替换字符串"\n"(\n)

我想使用该tr命令将所有出现的字符串"\n"替换为新行(\n).

我试过,tr '\\n' '\n'但这似乎匹配任何'\'和任何'n'

linux gnu tr

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

在Bash中替换斜杠

让我们假设我有这个变量:

DATE="04/Jun/2014:15:54:26".

其中我需要更换/\/为了得到字符串:

"04\/Jun\/2014:15:54:26".

我尝试tr如下:

echo "04\Jun\2014:15:54:26" | tr '\' '\\/'

但这会导致:"04\Jun\2014:15:54:26".

它不满足我.有人可以帮忙吗?

regex linux bash slash tr

26
推荐指数
5
解决办法
3万
查看次数

如何使用tr替换一个带有两个字符的字符

tr可以用两个字符替换一个字符吗?

我试图用"〜\n"替换"〜",但输出不会产生换行符.

$ echo "asdlksad ~ adlkajsd ~ 12345" | tr "~" "~\n"
asdlksad ~ adlkajsd ~ 12345
Run Code Online (Sandbox Code Playgroud)

unix shell tr

24
推荐指数
3
解决办法
4万
查看次数

使用tr删除特定字符串

是否可以tr在UNIX-Shell中使用命令删除特定字符串?例如:如果我键入:

tr -d "1."
Run Code Online (Sandbox Code Playgroud)

输入是1.1231,它会显示23为输出,但我希望它显示1231(注意只有第一个1已经消失).我该怎么办?

如果你知道一个解决方案或更好的方法,请解释语法,因为我不想复制和粘贴,但也要学习.

我对awk有很大的问题,所以如果你使用它,请解释一下.

unix bash command tr

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

删除文件末尾的换行符

要删除所有换行,请说:

tr -d '\n' < days.txt
cat days.txt | tr -d '\n'
Run Code Online (Sandbox Code Playgroud)

但是你如何使用它tr来删除文本文件末尾的新行呢?

我不确定只指定最后一个.

bash scripting newline tr

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

tr [:upper:] [:lower:]带有西里尔文本

我正试图从俄罗斯短篇小说中提取一个单词列表.

#!/bin/sh

export LC_ALL=ru_RU.utf8

sed -re 's/\s+/\n/g' | \
sed 's/[\.!,—()«»;:?]//g' | \
tr '[:upper:]' '[:lower:]' | \
sort | uniq
Run Code Online (Sandbox Code Playgroud)

然而,这一tr步骤并没有降低西里尔字母大写.我以为我在使用便携式角色课时很聪明!

$ LC_ALL=ru_RU.utf8 echo "?" | tr [:upper:] [:lower:]
?
Run Code Online (Sandbox Code Playgroud)

如果它是相关的,我通过从Chrome浏览器窗口复制粘贴到Vim获得俄语文本.它看起来正好在屏幕上(Putty终端).这是在Cygwin的bash shell中 - 它应该与Linux上的Bash完全相同(应该!).

什么是在管道中小写unicode文本的便携,可靠的方法?

unicode shell tr

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

标签 统计

tr ×10

bash ×4

linux ×4

unix ×4

grep ×2

newline ×2

regex ×2

shell ×2

awk ×1

case-insensitive ×1

command ×1

git-bash ×1

gnu ×1

replace ×1

scripting ×1

sed ×1

slash ×1

space ×1

unicode ×1