我希望有人可以帮助我,
如何将for循环的输出打印成单行?
for i in `cat file.csv`
do
echo $i
done
我在这里想要实现的是从file.csv获取一个数字列表以生成一个MysqL批量删除语句.
delete FROM Recordtable WHERE DataID IN ('93041', '93031' ...etc);
非常感谢您的帮助
解决方法:
如果你想要循环,你可以使用
for i in ($<file.csv)
do
echo -n "$i "
done
echo的-n选项会抑制换行符.
您可以使用echo $(< file.csv)在一行中打印整个文件. 但这可能更适合您的需求:
awk '{ printf $0 " " } NR%1000 == 0 { print "" }' file
这将打印每一行后跟一个空格.只要行号可被1000整除,它就会打印换行符;也就是说,每隔1000行之后.
补充:要打印括号内的每一行,您可以使用
awk '{ printf $0 " " } NR%1000 == 0 { print "" }' file | sed 's/.*/(&)/'
sed命令搜索任何字符(.*)并用open-paren替换它们,它找到的字符(即整行)和close-paren.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。