假设我的文件包含以下数字:
1
我希望将2 5 8
3 6 9
添加到所有这些数字中,输出如下:
.success (function (result){
$("#grid").data("kendoGrid").dataSource.data(result.data);
})
有一个简单的单行命令(例如awk)来实现这个吗?
答案 0 :(得分:2)
尝试一次。
initDefaultClock()
编辑:根据OP的无循环请求,这是一个解决方案(按照所示的示例编写)。
awk '{for(i=1;i<=NF;i++){$i=$i+1}} 1' Input_file
说明:所以在编辑部分第一个解决方案中我通过提到3来硬编码字段数,在编辑的OR解决方案中,我创建了一个名为col的变量,它将读取第一行Input_file获取字段数。然后它将不会读取所有的Input_file,现在进入我已设置的记录分隔符作为空格或新行,它将添加它们而不使用循环,并且每次在它们的值中递增1后将添加空格。只有当行数完全除以col的值时才会打印新行(这就是我们在-v col部分中占用字段数的原因)。
答案 1 :(得分:1)
在原生bash中(不需要from PyQt4 import QtGui #import the PyQt4 module we need
from PyQt4.Qt import QDialog
import sys #sys needed so we can pass argv to QApplication
import mainwin
import dialog
class MainApp(QtGui.QMainWindow, mainwin.Ui_MainWindow):
'''Main window of the application'''
def __init__(self, parent=None):
super(MainApp, self).__init__(parent)
self.setupUi(self) # This is defined in design.py file automatically
# It sets up layout and widgets that are defined
self.label.setText("I am unchanged text")
self.pushButton.clicked.connect(self.openDialog)#button binding - call openDialog method
def openDialog(self): # Opening a new popup window...
self.dialog = MyDialog()
self.a = self.dialog.exec_() #exec_() for python2.x, before python3
if self.a == self.dialog.Accepted:
self.label.setText("Accepted") #<-----HERE--
elif self.a == self.dialog.Rejected: #0
self.label.setText("Rejected")
class MyDialog(QtGui.QDialog, dialog.Ui_Dialog):
def __init__(self, parent = MainApp):
QDialog.__init__(self)
self.setupUi(self) #takes ui from my-defined dialog.py
self.comboBox.addItem('item 1');#adding items to the QCombobox to be displayed
self.comboBox.addItem('item 2');
self.comboBox.addItem('item 3');
self.comboBox.addItem('special1');
self.comboBox.activated[str].connect(self.my_method)
def my_method(self, my_text):
print my_text
#return my_text
def main():
app = QtGui.QApplication(sys.argv)# A new instance of QApplication
form = MainApp() # We set the form to be our ExampleApp (design)
form.show() # Show the form
app.exec_() # and execute the app
if __name__ == '__main__': #if the app is running directly, and is not imported
main()
或其他外部工具):
awk
答案 2 :(得分:1)
您可以使用gnu awk:
执行此操作awk -v RS="[[:space:]]+" '{$0++; ORS=RT} 1' file
2 5 8
3 6 9
答案 3 :(得分:0)
如果你不介意Perl
:
perl -pe 's/(\d+)/$1+1/eg' file
将由多个数字(\d+
)组成的任何数字替换为该数字($1
)加1. /e
表示执行替换计算,/g
表示全局整个文件。
如评论中所述,上述仅适用于正整数 - 根据OP的原始样本文件。如果您希望它使用负数,小数并仍保留文本和间距,您可以选择以下内容:
perl -pe 's/([-]?[.0-9]+)/$1+1/eg' file
输入文件
Some column headers # words
1 4 7 # a comment
2 5 cat dog # spacing and stray words
+5 0 # plus sign
-7 4 # minus sign
+1000.6 # positive decimal
-21.789 # negative decimal
<强>输出强>
Some column headers # words
2 5 8 # a comment
3 6 cat dog # spacing and stray words
+6 1 # plus sign
-6 5 # minus sign
+1001.6 # positive decimal
-20.789 # negative decimal