我最感激的是,谁能告诉我,在测试了空格/制表符后面的是另一个指定的子字符串之后,如何提取到第一个空格或制表符的所有字符?例如,包含以下内容的文件
php server-side
asp server-side
css client-side
html client-side
golang server-side当逐行读取时,可用于生成字符串。
php asp golang也就是说,随着行的结束,客户端完全退出,包含服务器端的行在空间处被截断。
发布于 2015-01-28 05:29:47
这个命令能起作用,
grep "server-side" filename|cut -d ' ' -f1|tr '\n' ' '解释如下;
grep "server-side" filename它将只捕获与字符串服务器端匹配的行。
cut -d ' ' -f1cut逗号将通过分隔符空间削减表的第一列。
tr '\n' ' 'tr命令将使所有新行字符替换为空格。
输出正是OP在讨论中提到的(需求):
php asp golang发布于 2015-01-28 05:30:52
grep "server-side" FILE_NAME | awk '{print $1}'说明: grep“服务器端”FILE_NAME可以过滤掉那些客户端条目。然后awk '{print $1}‘只能打印文本的第一行。
发布于 2015-01-28 05:52:41
如果您的目的是在shell循环中的令牌上循环,则shell内置了空格分割。
sep=''
while read -r lang feat; do
case $feat in "client-side" ) continue;; esac
printf '%s%s' "$sep" "$lang" # replace this with something actually useful?
sep=' '
done <<____HERE
php server-side
asp server-side
css client-side
html client-side
golang server-side
____HEREhttps://stackoverflow.com/questions/28185227
复制相似问题