我的查詢是我有一個csv文件,有11列。我想提取具有7列數字的記錄。請注意第7列有字符串以及數字。使用awk命令但沒有工作如何過濾unix中的列
回答
如果我明白了,你想要7列作爲數字的行?
你可以使用grep來做到這一點。隨着 '' 作爲分隔符:
grep ".*,.*,.*,.*,.*,.*,[0-9]*,.*" yourfile.csv
如果你想只有7列,利用切割(-D =>分隔符,-f選擇字段)
cat yourfile | cut -d, -f7 | grep "[0-9]*"
我不知道,如果你'特別尋找一個bash命令,但我建議使用像python這樣的腳本語言。這樣做在Python的方法之一是:
count = 0
prunedColumns = []
with open('FILENAME','r') as f:
for line in f:
count = 0
for entry in line.split(','):
try:
float(entry)
count += 1
except ValueError:
continue
if count == 7:
prunedColumns.append(line)
print(prunedColumns)
比方說,該文件是: ABC; 123; AAAA; 789 PQR; 567; 5555; 999 的Xyz; 888; BBBB; 6453 LMN; 777; 5555; 8989 我期待輸出有第2列(第3列只有數字) – shikha
首先是一些測試數據:
$ cat file
1 2 3 4 5 6 7 a b c d # seven numbers, a hit
1 2 3 4 5 6 a b c d e # six, a miss
1 2 3 4 5 6 7 8 a b c # eight, a miss
1 2 3 4 5 6 7a b c d e # seven, a hit
在awk中:
$ awk '{
for((i=1)&&c=0;i<=NF;i++) # check each field
if($i~/[0-9]+/) # if there are numbers in it
c++ # iterate counter
}
c==7 # if there are 7 fields, print record
' file
1 2 3 4 5 6 7 a b c d # seven numbers, a hit
1 2 3 4 5 6 7a b c d e # seven, a hit
嘗試多途徑這裏,使用相同的INPUT_FILE作爲詹姆斯·布朗在他的帖子中使用。
awk '{val=$0;if(gsub(/[0-9]+/,"",val)==7){print}}' Input_file
輸出如下。
1 2 3 4 5 6 7 a b c d # seven numbers, a hit
1 2 3 4 5 6 7a b c d e # seven, a hit
我正在尋找第7列,具體有一些行中的數字和其他列中的字符串 – shikha
@shikha:您可以添加示例Input_file和預期的輸出到您的文章中的代碼標籤,這對我們來說很有幫助。 – RavinderSingh13
cat file.csv | awk '{print $7}'| egrep -v [a-z]+
- 1. Java的UNIX過濾器
- 2. angularjs $過濾如何過濾2D陣列
- 3. Unix「包裝」過濾器
- 4. 如何從請求中過濾HttpRequestHeaders的過濾列表?
- 5. 如何過濾Excel表中的列表
- 6. 如何過濾numpy ndarray中的列
- 7. 如何過濾Haskell中的列表?
- 8. 如何在python中編寫unix過濾器?
- 9. 如何通過數字約束來過濾UNIX標準輸出?
- 10. 如何過濾列表框
- 11. 如何過濾列值?
- 12. 如何按列名過濾?
- 13. 如何過濾列表?
- 14. 如何過濾此列表?
- 15. 的Unix - 過濾找到的文件名
- 16. 如何通過int列表中的屬性值過濾列表?
- 17. 帶條件的XML2CSV轉換過濾列| Unix操作系統的
- 18. 如何在struts2中過濾列表?
- 19. 如何在Java8中過濾列表?
- 20. UNIX - 使用egrep,如何過濾發生n次的模式?
- 21. 如何使用Ruby製作標準的Unix過濾器?
- 22. 如何過濾具有多個過濾器的對象列表
- 23. 如何通過MDX過濾列
- 24. 如何從列表過濾通過
- 25. UNIX:如何通過sed的
- 26. 如何過濾pyspark中列表中的值列?
- 27. 如何過濾/搜索助手的列
- 28. 如何過濾列部分的長度?
- 29. 如何過濾多列上的dgrid
- 30. SQL如何過濾列的變化
請與你已經嘗試沿着預期的輸出張貼一些樣本數據。 –